2015-06-07 53 views
1

我有1個數組,並且這個數組包含的也是每個元素的數組。例如:PHP:我如何檢查數組中的數組?

$arraycenter = array(
         array('a','b','c','d'), //array1 
         array('e','d','f','g'), //array2 
         array('a','b','c','d'), //array3 
         array('e','d','f','g'), //array4 
         array(..............), //..... 
         array(...............); //array++ 

如何檢查數組1 & ARRAY3是一樣的,和數組2 &陣列4是一樣的嗎?

+0

我懷疑'$ a [1] == $ a [3] && $ a [2] == $ a [4]'是您正在尋找的答案。形成一個更好的問題,表達你真正想要做的事情。 – deceze

回答

0

可以和array_diff

if (array_diff($arraycenter[1], $arraycenter[2], $arraycenter[3])) 
    // Do something 

或使用(如果你不知道有多少項目需要進行檢查),可以使用array_filter

$array_center = array_filter($array_center, function($value) use(&$array_center) 
{ 
    return array_diff($array_center[1], $value); 
} 
+0

謝謝你的回答,但我想知道他們中的任何人是否有相同的價值!在檢查過程中!然後做一些行動...!那個怎麼樣? –

+0

你可以使用[array_walk](http://php.net/manual/en/function.array-walk.php)來做同樣的事情 – Fohlen

+0

如何在像array mate這樣的2維數組中使用array_walk?我不明白實際使用陣列走路。 :) –

1

可以使用===操作:

if ($arraycenter[0] === $arraycenter[2] && $arraycenter[1] === $arraycenter[3]) { 
    // do stuff... 
} 
+0

你好,Mureinik,謝謝你的回覆,如果$ arraycenter只有4個數組,但是如果$ arraycenter是動態的呢?我的意思是$ arraycenter是動態的。 –

+0

@MikeAmq你能澄清$ arraycenter是動態的需求嗎?例如,你想檢查它是否有六個元素?還是七? – Mureinik

+0

$ arraycenter的元素是dynamic,mate,基於ellement $ arraycenter長度。但如果我不確定這個長度怎麼辦?請檢查帖子更新,我只是更新帖子。 –