如何计算多维数组中的非空数组值?

时间:2017-08-12 09:58:05

标签: php

[pending_work] => Array
        (
            [0] => Array
                (
                    [tmp_name] => D:\xampp\tmp\php4B33.tmp
                    [error] => 0
                    [name] => Chrysanthemum.jpg
                    [type] => image/jpeg
                    [size] => 879394
                )

            [1] => Array
                (
                    [tmp_name] => 
                    [error] => 4
                    [name] => 
                    [type] => 
                    [size] => 0
                )

            [2] => Array
                (
                    [tmp_name] => 
                    [error] => 4
                    [name] => 
                    [type] => 
                    [size] => 0
                )

            [3] => Array
                (
                    [tmp_name] => 
                    [error] => 4
                    [name] => 
                    [type] => 
                    [size] => 0
                )

        )

这是上面给出数组值的数组。正如您所看到的,只有一个'tmp_name'字段不为空而其他字段为空。我如何检查和计算至少tmp_name中的一个不是空的?我有四种输入类型用于上传图像,我想检查至少一个应该上传的图像。

1 个答案:

答案 0 :(得分:0)

仅函数 array_filter()不会从多维数组中删除空子数组,还需要将另一个函数与array_filter()函数一起使用,以从多维数组中删除空元素。 PHP。

  • array_map()函数将array的元素发送到回调 功能。
  • array_filter()函数使用过滤数组元素 回调函数。

以下代码将从PHP中的多维数组中删除所有空数组元素:

<?php
$array = array_map('array_filter', $array);
$array = array_filter($array);