我有一个问题,我得到了一个数组,它是动态生成的并且有一个随机值,数组长度可能是可变的,并不总是相同,我的问题是我必须检查数组值并查看是否有相同的值, 为实例:
$arr = [1,1,1,4]; //check how many values are the same [PHP CODE]
我以前尝试过使用 in_array() 但我没有明确的好方法来做到这一点。
if (in_array($result, $arr)) {
echo "in array";
}
您可以使用print_r(array_count_values($arr))
来查看每个数字在数组中出现的次数。
尝试这个:
<?php
$array = array(1, "hello", 1, "world", "hello");
$arr_count = array_count_values($array);
$count = 0;
$val_arr = array();
foreach($arr_count as $key => $val)
{
if($val > 1)
{
$count++;
$val_arr[] = $key;
}
}
if($count == 0)
{
echo 'Array has no common values.';
}
else {
echo 'Array has '.$count.' common values:';
foreach($val_arr as $val)
{
echo "<b>".$val."</b> ";
}
}
?>
使用您的数组代替 $array 变量。
array_count_values
就是你要找的!
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
//prints
Array
(
[1] => 2
[hello] => 2
[world] => 1
)