2011-11-22 80 views
6

說我有這個代碼PHP - 數組中重複的值

$x = array("a", "b", "c", "d", "e"); 

有沒有辦法,我可以創建後調用重複的值,所以在上面的例子中$x將成爲任何功能

array("a", "b", "c", "d", "e", "a", "b", "c", "d", "e"); 

我以爲這樣但它不起作用

$ x = $ x + $ x;

+0

沒有關係嗎? – thetaiko

+1

檢查這個問題:http://stackoverflow.com/questions/2650177/cant-concatenate-2-arrays-in-php – DiogoDoreto

+0

@thetaiko,是的順序是重要的 –

回答

9
$x = array("a", "b", "c", "d", "e"); 

$x = array_merge($x,$x); 

合併數組到其自身將重複值作爲序列重複。

0

你可以遍歷數組並將每個變量循環到單獨的重複數組中。下面是一些代碼了我的頭頂部:

$x = array("a", "b", "c", "d", "e"); 
$duplicateArray = $array; 

foreach ($x as $key) { 
    $duplicateArray[] = $key; 
} 

foreach ($x as $key) { 
    $duplicateArray[] = $key; 
} 
6
php > $x = array("a", "b", "c", "d", "e"); 
php > print_r(array_merge($x, $x)); 

Array 
(
    [0] => a 
    [1] => b 
    [2] => c 
    [3] => d 
    [4] => e 
    [5] => a 
    [6] => b 
    [7] => c 
    [8] => d 
    [9] => e 
) 
+0

謝謝你的工作知府 –

+0

@Ash - 也有一個很好的摘要頁面,它很好地描述了PHP中的所有數組函數:http://php.net/manual/en/ref.array.php – thetaiko

2

這應該做的伎倆:

$x = array("a", "b", "c", "d", "e"); 
$x = array_merge($x,$x); 
0
$x = array_merge($x, $x); 

或者你可以去循環和複製,如果你首選。