UPDATE Juste une petite note, comme je peux le voir, cela semble vraiment stupide, et cela n'a aucune utilité avec du PHP pur parce que la fonction array_merge
travaille juste là. MAIS essayez-le avec le pilote PHP MongoDB avant de vous précipiter sur le downvote. Ce type ajoutera des index pour une raison ou une autre, et ruinera l'objet fusionné. Avec ma petite fonction naïve, la fusion s'effectue exactement comme elle est censée le faire avec une fonction traditionnelle de type array_merge
.
Je sais qu'il s'agit d'une vieille question mais j'aimerais ajouter un autre cas que j'ai eu récemment avec les requêtes du pilote MongoDB et aucun des éléments suivants n'a été utilisé array_merge
, array_replace
ni array_push
travaillé. J'avais une structure un peu complexe d'objets enveloppés comme des tableaux dans des tableaux :
$a = [
["a" => [1, "a2"]],
["b" => ["b1", 2]]
];
$t = [
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
Et j'avais besoin de les fusionner en gardant la même structure comme ceci :
$merged = [
["a" => [1, "a2"]],
["b" => ["b1", 2]],
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
La meilleure solution que j'ai trouvée est la suivante :
public static function glueArrays($arr1, $arr2) {
// merges TWO (2) arrays without adding indexing.
$myArr = $arr1;
foreach ($arr2 as $arrayItem) {
$myArr[] = $arrayItem;
}
return $myArr;
}