2011-11-22 27 views
6

decir que tenía el códigoPHP - Los valores duplicados de una matriz

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

¿Hay alguna función que podría llamar después de la creación de duplicar los valores, por lo que en el ejemplo anterior $x se convertiría en

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

Pensé algo como esto pero no funciona

$ x = $ x + $ x;

+0

¿El orden es importante? – thetaiko

+1

Marque esta pregunta: http://stackoverflow.com/questions/2650177/cant-concatenate-2-arrays-in-php – DiogoDoreto

+0

@thetaiko, sí la orden es importante –

Respuesta

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

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

La fusión de una matriz sobre sí misma repetirá los valores como duplicados en secuencia.

0

Puede recorrer la matriz y cada variable a una matriz duplicada por separado. Aquí hay un código de la parte superior de la cabeza:

$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

gracias prefecto de trabajos –

+0

@Ash - también hay un buen página de resumen que describe todas las funciones de la matriz en PHP bastante bien: http://php.net/manual/en/ref.array.php – thetaiko

2

Esto debe hacer el truco:

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

o usted podría ir bucle y de duplicación, si preferido.

Cuestiones relacionadas