PHP - 检查多个数组键,如果键有值

时间:2013-10-17 05:53:18

标签: php arrays

我有一个数组:

$my_array = array(1 => 'has value', 2 =>'', 3 => '');

我想运行一个if语句来检查所有键是否有值, 如果所有键都没有任何值,则返回false ,如:

if(any_key_has_value($my_array)){
    //run my query
}

4 个答案:

答案 0 :(得分:3)

如果您将“has value”定义为“value == true”:

if (count(array_filter($array)) == count($array)) {
    echo 'All elements have values';
}

答案 1 :(得分:1)

function hasValue($v) {
    return strval($v) != '';
}    
$res_array = array_filter($my_array, 'hasValue');
// any key has value
$any_key_has_value = 0 < sizeof($res_array);
// all keys have values
$all_keys_have_values = sizeof($my_array) == sizeof($res_array);

答案 2 :(得分:1)

$my_array = array(1 => 'has value', 2 =>'', 3 => '');

只需尝试这个

if (array_filter($my_array)) {
    // here  first value  `has value` 
}else{
 // all values are empty 
}

答案 3 :(得分:1)

试试这个:

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

        if (!array_filter($array)) {

            echo "All keys have null values";
        }
        else
        {
               // do something
        }
        ?>

-