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?PHP: obtenir une seule clé de l'objet
Répondre
Si vous voulez juste accéder à la valeur, vous n'avez pas besoin de la clé (en fait nom de la propriété) du tout:
$value = current((array)$object);
Si vous voulez vraiment le nom de propriété , essayez ceci:
$key = key((array)$object);
J'ai un tableau d'objets et les objets ont une propriété chacun, et je ne connais pas les noms des propriétés. Je parcours le tableau en utilisant la boucle 'foreach', 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 lancez l'objet $ dans un tableau à chaque fois? (Désolé si c'est trop basique, mais je suis un newb.) Une réponse sera grandement appréciée, car je ne suis pas sûr qu'il soit judicieux de l'utiliser ou non). – Solace
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
Cela fonctionne vraiment pour un objet? 'stdClass :: __ set_state (array ( 'tag1' => 1, ))' – Pablo
@Michael: Mon erreur, j'ai supposé que vous essayiez de récupérer la clé d'un tableau. Dans ce cas, vous souhaiterez lancer l'objet dans un tableau le plus probable. Voir l'exemple de @ thomasrutter: http://stackoverflow.com/questions/3411495/php-get-a-single-key-from-object/3411520#3411520 – gpmcadam
J'ai d'abord été induit en erreur par l'utilisation du mot "clé" , qui est un terme tableau ... – deceze
Vous pouvez lancer l'objet d'un tableau comme celui-ci:
$myarray = (array)$myobject;
Et puis, pour un tableau qui n'a qu'une seule valeur, cela devrait aller chercher la clé pour cette valeur.
$value = key($myarray);
Vous pouvez faire les deux en une ligne si vous le souhaitez. Bien sûr, vous pouvez aussi le faire en énumérant l'objet, comme vous l'avez mentionné dans votre question.
Pour obtenir la valeur plutôt que la clé, puis:
$value = current($myarray);
- 1. PHP/MYSQL Obtenir une seule valeur de colonne par ID
- 2. PHP: obtenir la clé de tableau actuelle?
- 3. Array PHP, obtenir la clé basée sur une valeur
- 4. Obtenir une clé d'abord de javascript objet
- 5. Obtenir une clé dans le dictionnaire ActionScript
- 6. C# ICollection obtenir une seule valeur
- 7. comment obtenir la valeur clé de tableau avec curl (php)
- 8. élément de trouver PHP clé
- 9. Array PHP changement clé
- 10. PHP - Obtenir une position dans une boucle
- 11. obtenir une clé sur un hachage javascript
- 12. Obtenir une clé primaire sur Zend_Db_Table_Rowset Objet
- 13. Comment migrer d'une clé primaire composite vers une seule clé d'attribut dans SQL?
- 14. php obtenir des variables comme clé sans valeur assignée
- 15. Obtenir la clé primaire de la table?
- 16. Fonction PHP SoapClient() renvoyant une seule chaîne XML
- 17. Obtenir une plage de dates à partir d'une seule date
- 18. Wicket événement clé -> obtenir la clé!
- 19. Echo PHP Répétition des lignes une seule fois
- 20. PHP bug clé de forme
- 21. Comment isoler une seule couleur sur une image avec PHP?
- 22. Y compris un fichier de classe PHP une seule fois
- 23. obtenir keyname pour une erreur de contrainte dans PHP/MySQL?
- 24. Quelle est la "méthode ruby" pour analyser une chaîne pour une seule clé/valeur?
- 25. PHP Array Clé & valeur Question
- 26. php tableau question clé
- 27. php array_filter sans préservation de clé
- 28. DatePicker iPhone obtenir seule date
- 29. PHP: clé mycrypt?
- 30. Comment ajouter une colonne et en faire une clé étrangère dans une seule instruction MySQL?
Alors, comment savez-vous que vous avez la bonne clé? – NullUserException
Cherchez-vous à faire un 'array_search'? –
Je n'ai qu'un seul objet json converti en php comme '{" foo ": 3}' et j'ai besoin de prendre à la fois le nom et la valeur de la clé. – Pablo