当前位置:编程学习 > php >>

php判断数组是否全为空的函数 这么写哪里有问题?

<?php
function fun($fun)
{
foreach($fun as $value)
{
if(is_array($value))
{
fun($value);
}
else
{ $value=$value.'1';
if(empty($value)==NULL)
{
return 1;
exit;
}
}
}
}

?>

补充:楼下的 如果是2维数组就判断不出来了 将你答案的$arr改成$arr=array(array('','',''),'','');你看看 

追问:去掉赋值也不对
答案:$value=$value.'1';
if(empty($value)==NULL)
{
return 1;
exit;
}

你这里出错了,你是先赋值后判断,那肯定得到的结果都是非空的咯

用empty函数
$arr=array("a");
if(!empty($arr))
{

echo "不为空";
}

给你一个很简单的思路,你循环数组,把所有的值累加,然后来判断结果。

$a = array();
foreach($a as $v) $va = $a . "1";
var_dump($va);

这个$va是null的,所以这么判断来赋值是不靠谱的。
而且我感觉你的错误还可能出现在你函数内部自调用fun($value);的时候,我自己写的时候也在这里徘徊了半天。。。你比较下吧。

根据最后一个大哥的思路,稍微改一下:
function chk_array ($a) {
foreach ($a as $v) {
if (is_array($v)) {
if (count($v)) {if (!chk_array($v)) return false;}
}
else {
$v = trim($v);
if (!empty($v)) return false;
}
$i++;
}
return true;
}
$a = array("", "", array(), array(""));
var_dump(chk_array($a));

上一个:如何叫PHP支持GD库函数?为什么会出错啊?
下一个:PHP中有解析字符串计算的内置函数吗? - 技术问答

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,