Check if variable exist more than once in array?

假如想象 提交于 2019-12-07 03:52:31

问题


I want to do an if/else statement in PHP that relies on an item in the array existing more than once or not. Can you use count in in_array? to do something like:

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


回答1:


Let $item be the item whose frequency you are checking for in the array, $array be the array you are searching in.

SOLUTION 1:

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

array_count_values() returns an array using the values of the input array as keys and their frequency in input as values (http://php.net/manual/en/function.array-count-values.php)

SOLUTION 2:

if (count(array_keys($array, $item)) > 1) 
{
     /* Execute code */
}

Check this http://www.php.net/manual/en/function.array-keys.php - "If the optional search_value is specified, then only the keys for that value are returned"




回答2:


Take a look at array_count_values().




回答3:


http://www.php.net/manual/en/function.array-keys.php

in_array only returns a bool, so you can't count it. array_keys however returns an array of all keys for an item in the array, so checking the length of that result will give you whether it exists more than once or not.




回答4:


I may have misunderstood your question but maybe this is what you neeed:

if ( count($in_array) > count(array_unique($in_array)) ) 
{
 EXECUTE CODE
}


来源:https://stackoverflow.com/questions/8882981/check-if-variable-exist-more-than-once-in-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!