是否有执行以下更好/更短的方式:计数阵列&in_array在一个功能
$stock_array = array("soccer" => "0");
if (count($stock_array) == 1 && in_array('0', $stock_array)) {...}
我要检查,如果数组有1个元素,并且该值为0。
在此先感谢
是否有执行以下更好/更短的方式:计数阵列&in_array在一个功能
$stock_array = array("soccer" => "0");
if (count($stock_array) == 1 && in_array('0', $stock_array)) {...}
我要检查,如果数组有1个元素,并且该值为0。
在此先感谢
根据你的标题,这提供了如果计数之一,它的值是0
$count = array_count_values($stock_array);
if ($count == array('0' => 1)) {
//something
}
或者你也可以使用array_filter()
与empty()
,如果你正在寻找一个迎宾这样回答的:如果数组中的所有值都为空或0
,则这将返回True。
if (empty(array_filter($stock_array))) {
//something
}
非常感谢jitendrapurohit。 IK为我工作。我相信我的头衔不够清楚。我向所有人道歉。 我也可以使用:if(array_sum($ stock_array)== 0){''} –
这两种解决方案意味着创建一个临时数组。虽然表达式看起来可能看起来很简单,但它们不如'count'和'current',甚至'array_sum'高效。 –
@SaraZ,array('a'=> 0,'b'=> 0)''怎么样? 'array_sum'和答案中的最后一个版本都会返回'true',而count是2.如果你想检查count,你需要_调用'count()'。 –
是的,你可以尝试使用下面的代码。
if (array_search('0', array_values($stock_array)) == 0) {...}
但这并不告诉我们,如果数组只有这个元素。
从你的问题,我能理解你正在尝试做的:
1
。我提供的解决方案检查这是否是数组的第一个值。但要检查数组的长度,还需要另一个数组。
谢谢。但我必须检查数组是否有1个元素 –
您的需求是? –
'if isset($ stock_array ['soccer'])&& empty($ stock_array ['soccer'])'我猜 – jitendrapurohit
你想完成什么?考虑到你的例子,条件总是评估为“TRUE”,所以你可以完全省略“if”:-) –