2014-04-24 188 views
-1

嗨,我有一个这样的数组...如何在二维数组中的元素比较PHP

array(
    array(
     1, 3 
    ), 
    array(
     4, 6, 8 
    ), 
    array(
     2, 3, 5, 1 
    ) 
) 

现在我想第一个元素的所有元素在第二row.means我想比较比较1与4,6和8.然后与第3行元素如1与2,3,5和1.同样我想比较

1在给定数组中总共存在两次....所以变量count1 = 2 ....同样地3存在2次因此count2 = 2 ... 8只存在一次因此count8 = 1 ....像这样...

Kind ly帮我解决这个问题。提前感谢。

+0

是这些不同的阵列或只是一个阵列? – Guns

+0

One array ...... – SSS

+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 
) 
+0

非常感谢你.... – SSS

0

检查This answer

或示例

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'; 
+0

如何在二维数组中实现这个? – SSS

+0

检查更新回答 – SagarPPanchal