如果子数组为空,PHP删除数组 [英] PHP remove array if subarray empty

查看:50
本文介绍了如果子数组为空,PHP删除数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数组图像就像这样,如果子数组名称"为空或为空,我想删除数组,该怎么做?

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

这是我当前的脚本

    $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();

推荐答案

假定您具有以下数据集,

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-使用 array_walk

3- using array_walk

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

4-使用 array_filter

4- using array_filter

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

这篇关于如果子数组为空,PHP删除数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆