2010-11-14 4 views

Répondre

5

array_merge()les valeurs ajoute du second réseau au premier. Il n'écrase pas les clés.

Votre exemple, se traduit par:

Array ( [0] => foo [1] => bar [2] => bar [3] => foo)

Cependant, If the input arrays have the same string keys, then the later value for that key will overwrite the previous one. If, however, the arrays contain numeric keys, the later value will not overwrite the original value, but will be appended.

à moins que c'était juste un exemple à un autre problème que vous aviez?

+0

Whoops, je ne lire le manuel et misse que peu, rien qu'en ont gardé les choses de lecture écraserait – Moak

2

Est-ce que cela répond à votre question? Je ne sais pas exactement ce que vous essayez d'accomplir, mais à partir de votre description, il sonne comme cela fonctionnera:

$array1 = array(0=>'foo', 1=>'bar'); 
$array2 = array(0=>'bar', 1=>'foo'); 

foreach ($array2 as $i) { 
    $array1[] = $i; 
} 

echo var_dump($array1); 
1

Il y a probablement beaucoup de meilleures façons mais qu'en est-:

$newarray= array(); 
    $array1 = array(0=>'foo', 1=>'bar'); 
    $array2 = array(0=>'bar', 1=>'foo'); 

    $dataarrays = array($array1, $array2); 

    foreach($dataarrays as $dataarray) { 
     foreach($dataarray as $data) { 
      $newarray[] = $data; 
     } 
    } 

print_r($newarray); 
0
$result = array_keys(array_merge(array_flip($array1), array_flip($array2))); 
var_dump($result); 
Questions connexes