如何检查数组值是否为空?

Unk*_*ror 15 php

这是我的阵列输出

Array
(
    [1] => 1
    [2] => 2
    [3] =>  
)
Run Code Online (Sandbox Code Playgroud)

我怎么知道它[3] =>是空的?

foreach ($array as $key => $value) {
    if (empty($value))
        echo "$key empty <br/>";
    else
        echo "$key not empty <br/>";
}
Run Code Online (Sandbox Code Playgroud)

我的出局表明并非空洞.什么是正确的检查方法是空的?

Epo*_*okK 24

另一个解决方案:

$array = array('one', 'two', '');

if(count(array_filter($array)) == count($array)) {
    echo 'OK';
} else {
    echo 'ERROR';
}
Run Code Online (Sandbox Code Playgroud)

http://codepad.org/zF9KkqKl


Mar*_*in. 15

它按预期工作,第三个是空的

http://codepad.org/yBIVBHj0

也许试着削减它的价值,以防第三个值只是一个空格.

foreach ($array as $key => $value) {
    $value = trim($value);
    if (empty($value))
        echo "$key empty <br/>";
    else
        echo "$key not empty <br/>";
}
Run Code Online (Sandbox Code Playgroud)


小智 7

您可以使用以下命令检查空数组:

if ( !empty(array_filter($array))) {
    echo 'OK';
} else {
    echo 'EMPTY ARRAY';
}
Run Code Online (Sandbox Code Playgroud)