2009-07-29 9 views
16

question assez simple en fait ..PHP - Fusionner deux tableaux (de même longueur) en un associatif?

est-il possible en PHP pour combiner deux tableaux distincts de la même longueur d'un tableau associatif où les valeurs du premier tableau sont utilisées comme clés dans le tableau associatif?

Je pourrais bien sûr le faire, mais je cherche une autre fonction (intégrée), ou une solution plus efficace ..?

function Combine($array1, $array2) { 
    if(count($array1) == count($array2)) { 
     $assArray = array(); 
     for($i=0;$i<count($array1);$i++) { 
      $assArray[$array1[$i]] = $array2[$i]; 
     } 
     return $assArray; 
    } 
} 
+2

"tableau de cul", sans aucun doute facile de se rappeler le nom. ;) –

Répondre

4

Il y a déjà un array_combine function:

$combined = array_combine($keys, $values); 
+0

mais la combinaison de tableaux ne prend pas de valeurs nulles dans un nouveau tableau. :( – gumuruh

+0

@gumuruh Pourriez-vous élaborer sur ce point? – Gumbo

7

vous avez besoin array_combine.

<?php 
$a = array('green', 'red', 'yellow'); 
$b = array('avocado', 'apple', 'banana'); 
$c = array_combine($a, $b); 

print_r($c); 
?> 
2

bonjour tout le monde je vais vous montrer comment fusionner 2 tableaux dans un tableau

nous avons 2 tableaux et je vais faire un tableau d'eux

$data_key = array('key1','key2'); 
$data_value = array('val1','val2'); 

permet de déclarer la principale tableau

$main_array = array(); 

maintenant remplissons-le avec e 2 tableaux

foreach ($data_key as $i => $key) { 
     $main_array[$key] = $data_value[$i]; 
} 

nous allons voir maintenant le résultat en utilisant var_dump($main_array);

array(2) { 
["key1"]=> string(4) "val1" 
["key2"]=> string(4) "val2" 
} 

J'espère que cela peut aider quelqu'un :)