2014-05-21 100 views
0

假設,我有一個數組如何通過組合兩個相同的數組值來生成一個唯一的數組?

$array1 = array(10, 20); 

和相同的值的另一陣列如上

$array2 = array(10, 20); 

我想這兩個數組結合起來,產生具有獨特的鍵和值的對的數組。我想$array3輸出是這樣:

$array3 = array(10 => 20, 20 => 10) 

我試圖洗牌第二陣列($array2),有時它給我作爲第一個($array1)相同的值。而我$array3輸出爲:

$array3 = array(10 => 10, 20 => 20) 
+0

爲什麼'10 => 20,20 => 10'? –

+0

將始終只有兩對鍵和值? –

+0

@nbin編號數組的值可以高達3或4。但是兩個數組值總是相同的。我想用一對唯一的鍵和值來生成一個數組。沒有關鍵和價值應該是相同的。 –

回答

1
array_combine($array1, array_reverse($array2)); 

這將實現你在你所提供的示例中指定的$array3,但一般不會工作,除非$array1$array2有相同數量的值。

我對你真正需要的東西有點困惑。你能提供更多鍵/值的例子嗎?

+0

我有兩個相同值的數組。 $ array1 = array(10,20,30,40,50); $ array2 = array(10,20,30,40,50); 兩個數組將始終具有相同數量的值。我想要一個新的數組,新的數組鍵和值不應該是相同的。 –

+0

你的算法很好。然而,它在 $ array1 = array(10,20,30);失敗。 $ array2 = array(10,20,30); –

+0

然後只要它們不相同,那麼鍵和值對就不重要。呀? –

相關問題