检查变量是否在数组中存在多次?

Don*_*ton 6 php arrays count duplicates

我想在PHP中执行if/else语句,该语句依赖于数组中存在多次或不存在的项.你能在in_array中使用count吗?做类似的事情:

if (count(in_array($itemno_array))) > 1 { EXECUTE CODE }

Nin*_*nja 9

设$ item为您在数组中检查其频率的项,$ array是您要搜索的数组.

解决方案1:

$array_count = array_count_values($array); 
if (array_key_exists($item, $array_count) && ($array_count["$item"] > 1))
{
   /* Execute code */
}
Run Code Online (Sandbox Code Playgroud)

array_count_values()返回一个数组,使用输入数组的值作为键,输入的频率为值(http://php.net/manual/en/function.array-count-values.php)

解决方案2:

if (count(array_keys($array, $item)) > 1) 
{
     /* Execute code */
}
Run Code Online (Sandbox Code Playgroud)

请查看http://www.php.net/manual/en/function.array-keys.php - "如果指定了可选的search_value,则只返回该值的键"

  • 我已经编辑并添加了另一个解决方案.你可以看一下. (2认同)