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),但此数组正在通过这两个条件。我不知道我应该应用什么条件来检测这个数组是否有这样的值,那么它是空的
对于egif(/*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;
}
}