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

如果子数组为空,则PHP移除数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,我的数组图像就是这样,如果子数组“name”为空或null,我想删除数组,怎么做 这是我当前的脚本 $data = array(); $fixedData = array(); $countyName = array(); $numrow = 2; echo "<pre>"; // insert to tb participant => 1 foreach($sheet as $key => $row

我的数组图像就是这样,如果子数组“name”为空或null,我想删除数组,怎么做

这是我当前的脚本

    $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();
$data=array();
$fixedData=array();
$countyName=array();
$numrow=2;
回声“;
//插入到tb参与者=>1
foreach($key=>$row格式的工作表){
$data[]=数组(
'name'=>this->split_name($row['B']),
'phone'=>$row['D'],
'mobile'=>$row['E'],
“机构”=>$row['F'],
“部门”=>$row['G'],
'地址'=>$row['H'],
“国家”=>$row['I'],
);
$numrow++;
}
未设置($data[0])//删除第一行
$data=数组_值($data);
//循环搜索数据
var_dump($数据);
模具();

假设您有以下数据集

$newData = [];
foreach ($array as $key => $value) {
    if (!empty($value['name']) && !is_null($value['name'])) {
        $newData[] = $value;
    }
}
可以通过以下几种方式过滤空值或空值:

一,-

二,-

3-使用

4-使用


您是否尝试过
empty($data[0]['name'])
这里刚刚删除了名称子数组,而不是父数组您是否已经创建了一个数组?或者你想避免在创建阶段添加空值?不工作,先生,你能在pastebin上检查我的完整脚本吗?在这里,你能详细说明什么不起作用吗?您的
$data
数组应该只包含嵌套数组,该嵌套数组在
name
字段中有一个值。如果数组名像这样为空,我想删除它们,先生,但它仍然显示打印您的数组,并向我们提供您的数据样本以重现问题。请不要使用图像格式。这里是我的数组,先生,如果数组名为“name”if“”或null,则父数组将被删除。。。怎么做?你试过我发布的解决方案吗?已经发生的事情不起作用,先生:(,它仍然显示645个数组,应该只有381个数组…你能发送一个json编码的数组吗?我根本无法复制转储的数组
if (!empty($this->split_name($row['B'])) && !is_null($this->split_name($row['B'])))
$array = [
    [
        'name' => 'not null', 'phone' => 12546
    ],[
        'name' => '', 'phone' => 852147
    ],[
        'name' => null, 'phone' => 96325874
    ],[
        'name' => 'have value', 'phone' => 12546
    ],
];
foreach ($array as $key => &$value) {
    if (empty($value['name']) || is_null($value['name'])) {
        $value = null;
    }
}

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