Étant donné un tableau multidimensionnel dont vous ne connaissez pas nécessairement la structure de; Comment chercher une clé par nom et modifier ou ajouter à son contenu? La valeur de la clé pourrait être une chaîne ou un tableau et les effets devraient être appliqués de toute façon - j'ai regardé array_walk_recursive, mais il ignore tout ce qui contient un autre tableau ...Trouver la clé de tableau dans php et changer sa valeur ou son contenu?
1
A
Répondre
2
Est-ce que cela fonctionne?
function arrayWalkFullRecursive(&$array, $callback, $userdata = NULL) {
call_user_func($callback, $value, $key, $userdata);
if(!is_array($array)) {
return false;
}
foreach($array as $key => &$value) {
arrayWalkFullRecursive($value);
}
return true;
}
arrayWalkFullRecursive($array,
create_function( // wtb PHP 5.3
'&$value, $key, $data',
'if($key == $data['key']) {
$value = $data['value'];
}'
),
array('key' => 'foo', 'value' => 'bar')
);
1
Les clés de tableau en PHP sont ints et les cordes. Vous ne pouvez pas avoir une clé de tableau array. Donc oui, array_walk_recursive()
est ce que vous voulez.
+0
Je veux dire la valeur qui correspond à la clé. Si la valeur est un autre niveau de tableau, il l'ignore et se recourt vers l'intérieur jusqu'à ce qu'il trouve quelque chose avec une valeur non-tableau. –
0
De Arrays:
Une clé peut être soit un nombre entier ou une chaîne.
Les tableaux ne peuvent pas être utilisés comme clés. Pour obtenir les clés d'un tableau, utilisez array_keys.
Questions connexes
- 1. Trouver la clé de valeur minimale dans un tableau associatif
- 2. Fusion et tableau par valeur au lieu de la clé dans PHP
- 3. codage valeur clé et sa capacité de script
- 4. string-clé Trouver dans le tableau Javascript
- 5. Changer la couleur d'une zone de texte en fonction de son contenu
- 6. Fichier PHP imprimer son propre contenu
- 7. Tri d'un tableau d'un tableau d'objets en PHP par valeur de clé
- 8. Valeur comme la clé
- 9. Modification d'un imbriquée tableau (multidimentionnelle) en paires clé => valeur en PHP
- 10. Trouver un contenu en double en utilisant MySQL et PHP
- 11. PHP: append à la valeur si la clé existe déjà, sinon ajoutez la clé
- 12. tableau marcher et remplacer en php ou Javascript (phpjs)
- 13. Obtenez PHP clé du tableau assoc dans la boucle
- 14. Puis-je ajouter une clé de tableau PHP sans valeur assignée dans une variable de classe?
- 15. Ajout d'une clé et de la valeur à tous les tableaux dans un tableau
- 16. Comment empêcher TreeView de changer sa position?
- 17. Existe-t-il une fonction PHP pour supprimer toutes les paires clé/valeur ayant une certaine valeur dans un tableau?
- 18. Comment changer le type de contenu en PHP?
- 19. Comment convertir un tableau d'octets en sa valeur numérique (Java)?
- 20. PHP tableau associatif
- 21. Cookie perd de sa valeur dans ASP.net
- 22. Comment trouver la longueur d'un tableau associatif dans ActionScript 3.0?
- 23. datable ne connaissant pas sa clé primaire
- 24. Comment faire pour supprimer la valeur de Registre et la clé de l'entrée de Registre
- 25. python: Déplacement d'une chaîne, en vérifiant son élément, et l'entrée des paires de dictionnaire clé-valeur
- 26. Comment trouver une chaîne dans un tableau en PHP?
- 27. Obtenir la clé de la valeur dans la collection .Net
- 28. PHP: comment vérifier la valeur du tableau A dans le tableau B sans boucle
- 29. PHP: Accéder à la valeur du tableau à la volée
- 30. regex pour changer la hauteur et la valeur de la largeur dans un code embed
N'a pas tout à fait travaillé, mais m'a mis sur la bonne voie. J'ai mis en place une fonction appelée remove_recursive() pour supprimer les éléments du tableau, maintenant j'ai besoin de faire les add_recursive() et change_recursive(). :) –
@Belanger, Quel est le problème avec le mien? Qu'est-ce qui n'a pas fonctionné? – strager
Oh, attends, je pense que je sais. Je vais modifier ma réponse. – strager