在PHP中如何检查数组中的所有键是否都为空值?[副本]

6qqygrtg  于 2023-05-16  发布在  PHP
关注(0)|答案(6)|浏览(127)

此问题已在此处有答案

Checking if all the array items are empty PHP(7个回答)
3天前关闭。
我有一个数组

$array = array('key1' => null, 'key2' => null, 'key3' => null, 'key4' => null);

我想确定是否所有的数组键都有空值,如果是,则返回false。上面的例子应该返回false,因为它没有任何值。但如果一个或多个键具有任何值,则它应该返回true,例如下面的示例为true。

$array = array('value1', 'key2' => value2, 'value3', 'key4' => value4);
relj7zay

relj7zay1#

假设你实际上是指像这样的数组

array('key1' => null, 'key2' => null, 'key3' => null, 'key4' => null)

答案是简单地使用array_filter

if (!array_filter($array)) {
    // all values are empty (where "empty" means == false)
}
jhdbpxl9

jhdbpxl92#

你的假设是不正确的。array('key1', 'key2', 'key3', 'key4')0..3范围内有4个值和键。
array('key1', 'key2' => value2, 'key3', 'key4' => value4)的值为key1(键为0),键为key2,值为key3(键为1),键为key4

hl0ma9xz

hl0ma9xz3#

如果需要检查所有值是否都是null

$allNull = true;
foreach( $array as $key => $val ) {
    if( is_null( $array[$key] ) ) {
        $allNull = false;
        break;
    }
}

// Do what you will with $allNull
p8h8hvxi

p8h8hvxi4#

$array = array('key1' => null, 'key2' => null, 'key3' => null, 'key4' => null);

答案是

$filterArray = array_filter($array);

if(count($filterArray) == 0){
    return false;
}else{
    return true;
}
isr3a4wc

isr3a4wc5#

$flag = 0;
foreach($array as $keys)
{
        if(!isempty($keys)) {
        $flag++;
        }
}

if(flag > 0)
{
    echo "Array not empty!";
}
else {
    echo "Array empty!";
}

应该可以

plupiseo

plupiseo6#

简单

count(array_filter($array)) != count($array)

如果多维

count(array_filter(array_values($array))) != count(array_values($array))

相关问题