Php 验证数组是否存在且不包含值的快捷方式

Php 验证数组是否存在且不包含值的快捷方式,php,arrays,Php,Arrays,验证数组是否存在且不包含值的快捷方式是什么 出于某种原因,这看起来很奇怪 $warning = array(); if (isset($warning) && empty($warning)) { //go on... } else { //either the array doesn't exist or it exist but contains values... } 数组需要存在,并且不能包含任何值 if ($warning) { ... } 那不管

验证数组是否存在且不包含值的快捷方式是什么

出于某种原因,这看起来很奇怪

$warning = array();

if (isset($warning) && empty($warning)) {
   //go on...
} else {
  //either the array doesn't exist or it exist but contains values...
}
数组需要存在,并且不能包含任何值

if ($warning) {
   ...
}
那不管用吗?当然,在检查此项之前,您可能正在为其分配某些内容

附录:

此代码输出
,甚至没有初始化数组

if ($warning) echo "yes";
else echo "no";

首先,检查数组对象本身是否已分配,然后检查分配的各个索引。

如果不知道是否定义了变量,则这是您能够获得的最短索引


如果您总是要定义数组($warning=array()),您可以跳过
isset
步骤。

如果($warning){…}
?或者如果($warning),如果变量未定义,
将做出反应。@budwiser在继续代码之前,数组必须存在。。。这将抛出错误或继续。。。行不通这应该行得通,但如果变量未初始化,则会打印一个通知-@Marko是否有效?@pozs我不希望代码开始抛出通知。。。我只是想确保数组存在并且没有值。在检查数组之前,你不是在给数组赋值吗?@Marco我知道,但是如果变量总是初始化(f.ex.它是函数中的一个参数,等等-就像你的例子中那样),它不会抛出任何东西。所以这取决于上下文。我想毕竟没有shorcut。。。我必须同时使用isset和empty来确保数组存在并且不包含任何值…我+1会告诉你Seth,因为结果证明你是对的;)@budwiser:谢谢你:)谢谢你教我我对空的看法是错误的!谢谢你教我,我再一次不明白整个问题:D