Home  >  Article  >  Backend Development  >  PHP如何判断多维数组中是否包含空值

PHP如何判断多维数组中是否包含空值

WBOY
WBOYOriginal
2016-06-23 13:46:401400browse



求助!如上图,只要某列出现一次空值,则排除此列,怎么实现


回复讨论(解决方案)

这样??

$arr=array(	'listid'=>array('',5),	'title'=>array('',38),	'type'=>array('','我有'),	'count'=>array('',3),	'content'=>array('无','无'));foreach($arr as $k=>$v){	if(is_array($v)){		foreach($v as $v2){			if($v2==''){				unset($arr[$k]);			}		}	}}echo "<pre class="brush:php;toolbar:false">";print_r($arr);echo "
";/*Array(    [content] => Array        (            [0] => 无            [1] => 无        ))*/

我看你的意思 应该不是2楼回答的 ,你的数据结构是一个好像是 文章的 就是几个文章 是不是全部剔除 第一个数据 只留下 每一个的第二个键值呢

foreach循环数组,发现空值先让该行=null,然后unset掉

3楼就是我想表达的意思,在上面的例子中!就是保留第二个的键值,因为全部有值,该怎样实现呢

建议贴出你的数组和最后结果。并说明一下原理。



print_($_POST);
结果:

Array
(
    [listid] => Array
        (
            [0] => 1
            [1] => 5
            [2] => 4
        )

    [title] => Array
        (
            [0] => 
            [1] => 33
            [2] => 39
        )

    [type] => Array
        (
            [0] => u
            [1] => t
            [2] => 
        )

    [count] => Array
        (
            [0] => 
            [1] => 7
            [2] => 
        )

    [content] => Array
        (
            [0] => 无
            [1] => 无
            [2] => 无
        )

)

$arr=array(    'listid'  => array('', 5),    'title'   => array('', 38),    'type'    => array('', '我有'),    'count'   => array('', 3),    'content' => array('无','无'),);$t = call_user_func_array('array_map', array_merge(array(null), $arr));foreach($t as $k=>$v) if(array_diff($v, array('')) != $v) unset($t[$k]);$t = count($t) == 1 ? array_chunk(current($t), 1) : call_user_func_array('array_map', array_merge(array(null), $t));print_r(array_combine(array_keys($arr), $t));
Array(    [listid] => Array        (            [0] => 5        )    [title] => Array        (            [0] => 38        )    [type] => Array        (            [0] => 我有        )    [count] => Array        (            [0] => 3        )    [content] => Array        (            [0] => 无        ))

感谢版主回答!已经获得了想要的结果
现在是,如果$arr 中没有一组完整的值就会出错啊

谢谢,已经解决

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn