我有一个数组,里面装满了MySQL。有时没有任何数据,所以我尝试用empty()
检查是否应该删除emtpy数组或是否包含任何数据。我尝试使用空数组但empty()
给了我一个“完整”数组,即使print_r
显示为空。
Array ( [0] => Array ( [0] => Array ( ) ) )
Array ( [0] => Array ( [0] => Array ( ) ) )
答案 0 :(得分:2)
empty()
将返回true。空数组将为空(),但是包含空数组的数组不会。
答案 1 :(得分:1)
假设$ array是你的例子中的数组,试试这个:
$array = array_filter( $array );
if ( empty( $array ) )
{
// do what you want
}
答案 2 :(得分:0)
要做我想做的事情你要做的事情,你需要编写一个递归函数,遍历你的多维数组的每个级别的每个项目,并检查empty()的值每个元素。我认为这就是你所追求的目标。
function isEmpty($array){
$empty = true;
foreach($array as $value){
if(is_array($value)){
if(!isEmpty($value)) $empty = false;
}else{
if(!empty($value)) $empty = false;
}
}
return $empty;
}
然后在你的数组上运行isEmpty()。
答案 3 :(得分:0)
我相信BraedenP是正确的。
但是,一个更优秀的解决方案是在创建该数组的位置进行更改。在该上下文中,检测SQL结果集中的行数是否为0
应该非常容易。