嗨,我有这样的阵列...
array(
array(
1, 3
),
array(
4, 6, 8
),
array(
2, 3, 5, 1
)
)
现在我想将第一个元素与第二行中的所有元素进行比较。我想要将1与4,6和8进行比较。然后使用第3行元素,例如1,2,3,5和1.Likewise i想要比较
1在给定的数组中总共存在两次....所以变量count1 = 2 ....同样3存在2次所以count2 = 2 ... 8只存在一次所以count8 = 1 ....像这样......
请帮我解决这个问题。谢谢。
答案 0 :(得分:2)
如果您只是在频率表之后,可以使用array_merge()
对其进行展平,并使用array_count_values()
来计算:
print_r(array_count_values(call_user_func_array('array_merge', $array)));
输出:
Array
(
[1] => 2
[3] => 2
[4] => 1
[6] => 1
[8] => 1
[2] => 1
[5] => 1
)
答案 1 :(得分:0)
或示例
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
使用
$b = array(array("Mac", "NT"), array("Irix", "Linux"));
echo in_array_r("Irix", $b) ? 'found' : 'not found';