在数组过滤器中,如何使系统允许0

时间:2015-11-06 07:38:01

标签: php arrays

$data是多维数组,此数组包含不同类型的值

numbercharacterfloatemptyBoolean

这里我想过滤掉空的,但是下面的功能过滤0,也是假的,请建议一个快速的解决方案。

$data = array_map('array_filter',$data);

$data = array_filter($data,function($a){return $a!='';});

以上两个样本都没有完全满足要求。

array ('school'=>array('key1'=>abc,'key2'=>1,'key3'=>0,'key4'=>,'key5'=>false))

3 个答案:

答案 0 :(得分:1)

$data = array_filter($data,function($a){return ($a!=='' && is_null($a)===false );});

答案 1 :(得分:1)

简单地尝试而不是<span onclick="doModal('Box1',false)">Close Box 1</span> <span onclick="doModal('Box2',false)">Close Box 2</span> $data

$data['school']

答案 2 :(得分:0)

使用自定义函数,因为本机php函数会将'0'和'false'视为空:

function array_non_empty_items($input) {
    // If it is an element, then just return it.
    if (!is_array($input)) {
        return $input;
    }

    $non_empty_items = array();

    foreach ($input as $key => $value) {
        // Ignore empty cells
        if($value !== '') {
            // Use recursion to evaluate cells.
            $non_empty_items[$key] = array_non_empty_items($value);
        }
    }

    // Finally returns the array without empty items.
    return $non_empty_items;
}