首页 > 解决方案 > 如何从多维数组中检查和删除完全空值数组?

问题描述

我有多维数组。如果数组所有值都为空,我想删除 arrya。我有以下数组:

"qualifications" => array(
[0] => array(
  "qualifications" => "demo"
  "acquisition_date" => null
),
[1] => array(
  "qualifications" => null
  "acquisition_date" => null
),
[2] => array(
  "qualifications" => "test"
  "acquisition" => 123
)
);

我想删除像 index[1] 这样的数组。我正在尝试以下代码:

$educationalEmptyArray = 'false';
    if (!array_filter(array_map('array_filter', $educational))) {
        $educationalEmptyArray = 'true';
    }

如何取消设置或删除完全空值数组,如 index[1] 数组。

标签: phplaravelmultidimensional-array

解决方案


这不是完全正确的方法,但仍然有效:

   $input = array(
        '0' => array(
        "qualifications" => "demo",
        "acquisition_date" => null
        ),
        '1' => array(
        "qualifications" => null,
        "acquisition_date" => null
        ),
        '2' => array(
        "qualifications" => "test",
        "acquisition" => 123
        )
    );
    $output = array();
    foreach($input as $array) {
        foreach($array as $key=>$value){
            if($array[$key]){
                array_push($output,$array);
                break;
            }
        }
    }

$output 数组完全删除空值数组,如 index[1] 数组。上面的代码给出了以下输出:

Array
(
    [0] => Array
        (
            [qualifications] => demo
            [acquisition_date] => 
        )

    [1] => Array
        (
            [qualifications] => test
            [acquisition] => 123
        )

)

推荐阅读