J'ai un tableau qui ressemble à ceci: puis, j'ai écrit une fonction p> pour convertir le tableau à regarder comme ceci p> mais la sortie est p> je suppose que cela a quelque chose à voir avec la nature de la nature de la nature Array_Merge lui-même, qui selon le manuel PHP "Les valeurs de la matrice d'entrée avec des touches numériques seront renumérotées avec incrémentation des touches à partir de zéro dans la matrice de résultat." p> y a-t-il un moyen de pour que je puisse produire le résultat souhaité avec ou sans array_merge? p> p>
3 Réponses :
Drop the array_merge () code> et ajoute la touche code> code> et
de la valeur code> sur le nouveau
$ arr_list code>
ou comme @plagueeditor dit: $ arr_list = $ Arr_list + (tableau ($ Arr_value [$ str_key] => $ arr_value])); Code>
J'utilise les deux réellement: d. une sorte d'exercice pour moi. Merci.
Pourquoi n'essayez-vous pas simplement une approche beaucoup plus simple:
function array_to_list($arr_data, $str_key, $str_value) { $arr_list = array(); if (is_array($arr_data)) { foreach($arr_data as $arr_value) { if (isset($arr_value[$str_key]) && isset($arr_value[$str_value])) { // This is the changed line: $arr_list[ $arr_value[$str_key] ] = $arr_value[$str_value]; } } } return $arr_list; }
Je me demande pourquoi votre solution ne s'est pas venue à ma tête plus tôt. Merci. Être plus rapide, je pense que je peux sauver les frais généraux plutôt qu'avec l'ancien.
Utilisez '+' opérateur au lieu de } p> p> array_merge () code>:
C'était exactement ce dont j'avais besoin (pour un but plus simple) ... pour préparer une clé «0» à un tableau avec des touches numériques sans renumber les clés.
ProgrammingFacts.com/.../a>
Merci d'avoir répondu si vite. Il est embarrassant pour moi de voir la solution est si simple mais je ne le trouve pas quand googling il y a quelque temps. Merci.