Php 如何检查并从多维数组中删除完全空值数组?

Php 如何检查并从多维数组中删除完全空值数组?,php,laravel,multidimensional-array,Php,Laravel,Multidimensional Array,我有多维数组。如果数组的所有值都为空,我想删除arrya。 我有以下数组: "qualifications" => array( [0] => array( "qualifications" => "demo" "acquisition_date" => null ), [1] => array( "qualifications" => null "acquisition_date" => null ), [2] => array(

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

"qualifications" => array(
[0] => array(
  "qualifications" => "demo"
  "acquisition_date" => null
),
[1] => array(
  "qualifications" => null
  "acquisition_date" => null
),
[2] => array(
  "qualifications" => "test"
  "acquisition" => 123
)
);
我想删除类似数组的索引[1]。 我正在尝试使用以下代码:

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

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

我建议为此利用Laravel
集合
s,因为它使此类操作更容易。有很多很多方法可以做到这一点,但这应该可以做到

$collection = collect($educational)->reject(function ($items) {
    foreach ($items as $item) {
        if ($item !== null) {
            // We have an actual value so we can safely ignore and return early
            return false;
        }
    }
    // We didn't find a non-null value, so we reject this array
    return true;
});

我不确定这样做的效率有多高。这不是正确的方法,但仍然有效:

   $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数组完全删除空值数组,如索引[1]数组。 上述代码给出了以下输出:

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

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

)

到目前为止你尝试了什么?@Spholt我正在尝试$educationalEmptyArray='false';如果(!array_filter(!array_filter('array_filter',$educational)){$educationalEmptyArray='true';}但它对我不起作用。这个代码checkd数组是否完全为空,但不能完全删除空值数组,在这里的注释中可读吗?编辑您的问题并将其添加到那里