我有一个问题,我有一个数组生成的dinamically和一个随机值,数组长度可能是变量,并不总是相同,我的问题是,我必须检查数组值,看看是否有例如:
是相同的值$arr = [1,1,1,4]; //check how many values are the same [PHP CODE]
我之前尝试使用in_array(),但我没有明确的方法来做到这一点。
if (in_array($result, $arr)) {
echo "in array";
}
答案 0 :(得分:2)
您可以使用print_r(array_count_values($arr))
查看每个号码在数组中出现的次数。
答案 1 :(得分:1)
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
)
答案 2 :(得分:1)
试试这个:
<?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变量。