dsfasdfsda234234 2018-08-30 07:37
浏览 74
已采纳

如果子数组为空,则PHP删除数组

my array image just like this, if subarray "name" is empty or null i want delete array, how to do that ?

here's my array

here my current script

    $data       = array();
    $fixedData  = array();
    $countyName = array();
    $numrow = 2;
    echo "<pre>";
    // insert to tb participant => 1
    foreach($sheet as $key => $row){
    $data[] = array(
            'name' => $this->split_name($row['B']),
            'phone' => $row['D'],
            'mobile' => $row['E'],
            'institution' => $row['F'],
            'departement' => $row['G'],
            'address' => $row['H'],
            'country' => $row['I'],
    );

      $numrow++; 
    }
    unset($data[0]); //delete first row
    $data = array_values($data);

    //loop search data 

    var_dump ($data);
    die();
  • 写回答

2条回答 默认 最新

  • dongmei1828 2018-08-30 07:47
    关注

    Assume that you have the following data set,

    $array = [
        [
            'name' => 'not null', 'phone' => 12546
        ],[
            'name' => '', 'phone' => 852147
        ],[
            'name' => null, 'phone' => 96325874
        ],[
            'name' => 'have value', 'phone' => 12546
        ],
    ];
    

    You can filter the nulled or empty values like several ways :

    1-

    foreach ($array as $key => &$value) {
        if (empty($value['name']) || is_null($value['name'])) {
            $value = null;
        }
    }
    
    $array = array_filter($array);
    

    2-

    $newData = [];
    foreach ($array as $key => $value) {
        if (!empty($value['name']) && !is_null($value['name'])) {
            $newData[] = $value;
        }
    }
    

    3- using array_walk

    $newData = [];
    array_walk($array, function ($value, $key) use (&$newData) {
        if (!empty($value['name']) && !is_null($value['name'])) {
            $newData[] = $value;
        }
    });
    

    4- using array_filter

    $newData = array_filter($array, function ($value) {
        if (!empty($value['name']) && !is_null($value['name'])) {
            return $value;
        }
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染