如果仅存在一个特定条目,则签入数组


Check in array if only one specific entry is present

我正在尝试检查数组中是否只有一个值,如果该特定值是"Home",则执行某些操作。下面的方法是完成此操作的最佳方法,还是我可以一步到位?

喜欢:

$mymenu;    // array
if(count($mymenu) < 2 && in_array('Home', $mymenu)){
    // Do something
}

我唯一要做的其他更改是:

if(count($mymenu) === 1 && $mymenu[0] === 'Home')

count检查从< 2更改为=== 1对我来说读起来更好;当读回代码时更有意义,因为它传达了你的实际意思。

至于in_array,因为你知道数组中应该只有一个项目,所以只使用$mymenu[0]而不是进行针/大海捞针查找可能会更快。

除此之外,没有比这更简洁的方式来做你想做的事了。

试试这个三元运算符...

echo count($mymenu) === 1 && $mymenu[0] === 'Home' ? 'Do something' : null;