计数阵列& in_array在一个函数中

时间:2016-11-17 12:29:07

标签: php arrays

是否有更好/更短的方式来执行以下操作:

$stock_array = array("soccer" => "0");
if (count($stock_array) == 1 && in_array('0', $stock_array)) {...}

我想检查数组是否有1个元素,值是0。

提前致谢

2 个答案:

答案 0 :(得分:1)

根据您的标题,这将提供计数是否为1且其值为0

$count = array_count_values($stock_array);
if ($count == array('0' => 1)) {
  //something
}

或者如果您正在寻找一种预功能的答案,您也可以将array_filter()empty()一起使用:如果数组中的所有值都为空或{{1},则返回True }}

0

答案 1 :(得分:0)

是的,您可以尝试使用以下代码。

if (array_search('0', array_values($stock_array)) == 0) {...}

但这并不能说明数组是否只有这个元素。

从您的问题中,我可以理解您正在尝试:

  • 检查数组的长度为1
  • 检查数组中是否存在该值。

我提供的解决方案,检查这是否是数组的第一个值。但要检查数组的长度,你还需要另外一个。