2011-11-22 16 views
6

dire che ho avuto questo codicePHP - i valori duplicati di un array

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

C'è qualche funzione che potrei chiamare dopo la creazione di duplicare i valori, quindi nell'esempio di cui sopra $x sarebbe diventato

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

Ho pensato qualcosa del genere ma non funziona

$ x = $ x + $ x;

+0

l'ordine è importante? – thetaiko

+1

Controlla questa domanda: http://stackoverflow.com/questions/2650177/cant-concatenate-2-arrays-in-php – DiogoDoreto

+0

@thetaiko, sì l'ordine è importante –

risposta

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

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

Unire un array su se stesso ripeteranno i valori duplicati in sequenza.

0

È possibile eseguire il ciclo attraverso la matrice e ciascuna variabile in una matrice duplicata separata. Ecco del codice la parte superiore della testa:

$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

Grazie al prefetto di lavoro –

+0

@Ash - c'è anche un buon pagina riassuntiva che descrive abbastanza bene tutte le funzioni dell'array in PHP: http://php.net/manual/en/ref.array.php – thetaiko

2

Questo dovrebbe fare il trucco:

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

Oppure si potrebbe andare loop e duplicazione, se si preferisce.

Problemi correlati