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

php中文网
发布: 2016-06-23 13:46:40
原创
1497人浏览过



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

燕雀Logo
燕雀Logo

为用户提供LOGO免费设计在线生成服务

燕雀Logo 101
查看详情 燕雀Logo

回复讨论(解决方案)

这样??

$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 中没有一组完整的值就会出错啊

谢谢,已经解决

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号