La création dynamique d'insertion dans un tableau associatif PHP
Je suis en train de construire un tableau associatif en PHP de façon dynamique, et pas tout à fait obtenir ma stratégie la droite. Fondamentalement, je veux insérer une valeur à une certaine profondeur dans la structure du tableau, par exemple:
$array['first']['second']['third'] = $val;
Maintenant, la chose est, je ne sais pas si cette profondeur est disponible, et si elle n'est pas, je veux créer la clé (et tableaux) pour chaque niveau, et enfin insérer la valeur à un niveau correct.
Depuis que je fais beaucoup de choses dans mon code, j'ai grandi fatigué de faire tout un tas de "array_key_exists", donc je voulais faire une fonction qui construit le tableau pour moi, étant donné une liste des clés au niveau de l'. Toute aide sur une bonne stratégie pour ce qui est apprécié. Je suis sûr qu'il y est une manière assez simple, je suis tout simplement pas l'obtenir...
comment vos données formatées pour l'insertion à savoir quel type de structure sont des clés et $val stockées dans?
merci! @richsage et @Andy: je vais essayer de mettre à jour le post avec un exemple de la structure. En gros, je suis en train de créer une structure pour conserver un semi-forme complexe, avec des sections dans le haut, puis des balises html fieldsets, ligne-id:s, étiquette de ligne de texte et les valeurs de ligne.
OriginalL'auteur Emil | 2010-03-15
Vous devez vous connecter pour publier un commentaire.
de php n'est pas vous blâmer si vous le faites juste pour
si vous ne voulez pas que vos clés à être codé en dur, voici une solution flexible
Il le fait, si vous avez
error_reporting
ensemble deE_STRICT
.err non, il n'est pas
Je considère qu'un avis quelque chose pour prendre soin de, mais accordée; 'faute' est un peu fort peut-être.
merci un million - ce qui a fait le tour. J'avais commencé quelque chose de similaire, mais ne pouvait pas obtenir de blocage de la pièce de référence. Maintenant, je peux passer le reste de l'après-midi à essayer de grok qu'au lieu d'arrache plus les cheveux. 🙂
OriginalL'auteur user187291
Créer une fonction comme:
Utilisation:
De sortie:
OriginalL'auteur Felix Kling
C'est difficile, vous avez besoin de travailler avec des références (ou avec la récursivité, mais je
choisi ici des références):
OriginalL'auteur soulmerge
Sortie
Vous devriez vérifier ici http://sandbox.onlinephpfunctions.com/
ok, je refactoriser mon exemple
OriginalL'auteur Mirocow