【发布时间】:2011-08-21 08:33:44
【问题描述】:
我正在编写以下代码:
// $data has only one dimension AND at least one of its values start with a "@"
if ( (count($data) == count($data, COUNT_RECURSIVE))
&& (count(preg_grep('~^@~', $data)) > 0) )
{
// do nothing
}
else
{
// do something
}
这个条件的逻辑工作得很好,但是,我希望我可以摆脱空的 if 块,同时仅在第一个条件为真时评估第二个条件 - 否则 preg_grep() 调用将当$data 具有多个维度时,抛出以下通知:
注意:数组到字符串的转换
我知道我可以使用错误抑制运算符或其他一些 hacky 方法,但我觉得我错过了一些微不足道的东西。有人可以帮帮我吗?
【问题讨论】:
-
&&已经短路了...不是吗?
标签: php arrays multidimensional-array if-statement conditional-operator