J'ai un objet avec une seule clé et sa valeur. Mais je ne connais pas la clé pour y accéder. Quel est le moyen le plus efficace d'obtenir la clé sans énumérer l'objet? P>
3 Réponses :
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
See: http://php.net/manual/en/function.array-keys.php
Cela fonctionne vraiment pour un objet? stdclass :: __ set_state (tableau ('Tag1' => 1,)) code>
@Michael: Mon erreur, je suppose que vous essayiez de récupérer la clé d'un tableau. Dans ce cas, vous voudrez voter l'objet à un tableau le plus probable. Voir @ Exemple de ThomasRutter: Stackoverflow.com/Questtions/3411495/...
J'ai été initialement induit en erreur par l'utilisation du mot "clé", qui est un terme de tableau ...
Vous pouvez lancer l'objet à un tableau comme celui-ci:
$value = current($myarray);
Si vous voulez juste accéder à la valeur em>, vous n'avez pas besoin de la clé ( nom de propriété em>) du tout:
J'ai une gamme d'objets et les objets ont une propriété chacune, et je ne connais pas les noms des propriétés. Je suis itération de la matrice en utilisant forecheche code> boucle, et pour chaque objet, je veux la clé ainsi que la valeur. J'ai trouvé cette solution, mais n'est-ce pas inefficace parce que vous jetez l'objet $ à une matrice à chaque fois? (Désolé si c'est trop basique, mais je suis un nouveaub. Une réponse sera grandement appréciée, car je ne suis pas sûr de savoir s'il est sage de l'utiliser ou non) ..
Cette réponse a sauvé mon temps. Merci.
Alors, comment savez-vous que vous avez la bonne clé?
Cherchez-vous à faire un
array_search code>?Je n'ai qu'un seul objet JSON converti en PHP comme
{"FOO": 3} code> et j'ai besoin de prendre les deux, nom de référence et valeur.Si vous décodez vous-même le JSON, vous pouvez le décoder dans un tableau associatif et rendre votre vie légèrement plus facile.
JSON_DECODE ($ JSON, vrai) code>.La chose est que je ne peux vraiment pas changer le mode de décodage. L'exemple que j'ai apporté était juste une feuille dans la hiérarchie.