Php 如何检查数组是否有[0]索引但没有值?

Php 如何检查数组是否有[0]索引但没有值?,php,Php,我处于一个非常特殊的情况下,我有一个索引数组$name\u array,它有0索引,但没有值,如下所示 Array ( [0] => ) 我想把这个数组看作是空的,我在代码< iSSET($NAMEXAREL)> 和中检查过它!空($name\u array),但此数组正在通过这两个条件。我不知道我应该应用什么条件来检测这个数组是否有这样的值,那么它是空的 对于eg if(/*some condition*/($name_array)) { echo 'I am no

我处于一个非常特殊的情况下,我有一个索引数组
$name\u array
,它有0索引,但没有值,如下所示

Array
(
    [0] => 
)

我想把这个数组看作是空的,我在代码< iSSET($NAMEXAREL)> <代码>和<代码>中检查过它!空($name\u array),但此数组正在通过这两个条件。我不知道我应该应用什么条件来检测这个数组是否有这样的值,那么它是空的

对于eg

if(/*some condition*/($name_array)) 
{
    echo 'I am not empty';
}
else
{
    echo 'I am empty';
}

没有内置的功能来检查
您可以自己创建:)下面是一个示例

function is_array_empty($name_array) {
    foreach($name_array as $elm) {
        if(!empty($elm)) return FALSE;
    }
    return TRUE;
}
您可以使用:

默认情况下,
array\u filter
过滤掉任何“空”值,如空字符串,
null
false

足以检查数组的第一个索引是否有效:-

if(!empty($array[0])){
 // $array[0] has value
}
对于不知道第一个索引键的多维数组

if(!empty($array[key($array)])){
  echo $array[key($array)];
}
empty-如果var存在且具有非空、非零值,则返回FALSE。否则返回TRUE。

以下内容被认为是空的:

“”(空字符串)

0(0作为整数)

0.0(0作为浮点数)

“0”(0作为字符串)

空的

假的

array()(空数组)

$var;(声明了一个变量,但没有值)


您只是想检查第一个元素是否为空吗?如果是:

if ( ! current($name_array)) {
    // first element in $name_array is niether false, null, 0 or an empty string
}

如果您需要检查更具体的案例,只需将感叹号更改为您需要检查的内容。

可能重复@Apb No,而不是重复上述问题,这两个问题完全不同。因此,有许多与您的问题相关的链接。谷歌it。$name\u数组=数组过滤器($name\u数组)@devpro:在这个问题上,OP已经定义了数组的索引[0]。所以我建议这样做:)是的,我就是这么说的,解决办法很好。。。不理想:)是的,我将其更改为
if(array_filter($name_array)){echo'我不是空的';}否则{echo'我是空的';}
按预期工作。太长。。。检查@ksimka的答案。
function is_array_empty($name_array) {
    $arrSize=sizeof($name_array);
    $emptElements=0;
    foreach($name_array as $elm) {
        if(empty($elm)){
           $emptElements++;
        }
    }
    if($emptElements==$arrSize){
        return TRUE;
    }else{
        return FALSE;
    }
}
function is_array_empty($name_array) {
    $arrSize=sizeof($name_array);
    $emptElements=0;
    foreach($name_array as $elm) {
        if(empty($elm)){
           $emptElements++;
        }
    }
    if($emptElements==$arrSize){
        return TRUE;
    }else{
        return FALSE;
    }
}