Tengo un objeto con una sola clave y su valor. Pero no sé la clave para acceder a ella. ¿Cuál es la forma más eficiente de obtener la clave sin enumerar el objeto?PHP: obtenga una sola clave del objeto
Respuesta
Si lo que desea es acceso el valor, que no necesita la clave (en realidad nombre de la propiedad) en absoluto:
$value = current((array)$object);
Si realmente desea que el nombre de la propiedad , intente esto:
$key = key((array)$object);
Tengo una matriz de objetos y los objetos tienen una propiedad cada uno, y no sé los nombres de las propiedades. Estoy iterando a través de la matriz mediante el bucle 'foreach', y para cada objeto, quiero la clave y el valor. He encontrado esta solución, pero ¿no es ineficiente porque estás lanzando el objeto $ a una matriz cada vez? (Disculpe si es demasiado básico, pero soy un principiante. Una respuesta será muy apreciada, ya que no estoy seguro de si es aconsejable usar esto o no). – Solace
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
Esto realmente funciona para un objeto? 'stdClass :: __ set_state (array ( 'tag1' => 1, ))' – Pablo
@Michael: Mi error, supuse que estabas intentando recuperar la clave de una matriz. En ese caso, querrás lanzar el objeto a una matriz lo más probable. Ver el ejemplo de @thomasrutter: http://stackoverflow.com/questions/3411495/php-get-a-single-key-from-object/3411520#3411520 – gpmcadam
En un principio, me equivoqué al usar la palabra "clave" , que es un término de matriz ... – deceze
Puede convertir el objeto a una serie como esta:
$myarray = (array)$myobject;
Y entonces, por una matriz que tiene un solo valor, esto debería ir a buscar la llave por ese valor.
$value = key($myarray);
Puede hacer ambas cosas en una línea si lo desea. Por supuesto, también puedes hacerlo enumerando el objeto, como mencionaste en tu pregunta.
para obtener el valor en lugar de la clave, entonces:
$value = current($myarray);
- 1. Obtenga la clave final de una matriz en PHP
- 2. PHP: obtenga el nombre del navegador
- 3. Obtenga el mayor valor del objeto Json con Javascript
- 4. Compruebe si existe una clave y obtenga el valor correspondiente de una matriz en PHP
- 5. C# dictionary ¿Cómo agregar valores múltiples para una sola clave?
- 6. Exportar clave privada del objeto X509Certificate
- 7. cambio de objeto múltiple en una sola línea
- 8. Valor del puntero del objeto como clave en el diccionario
- 9. Magento: Obtenga visibilidad del producto
- 10. Obtenga todas las instancias de una clase en PHP
- 11. PHP en referencia al objeto de datos con clave numérica
- 12. Django - ¿Obtiene objetos de clave foránea en una sola consulta?
- 13. Múltiples valores para una sola clave de configuración
- 14. obtener objetos de clave externa en una sola consulta - Django
- 15. C# con en palabras clave anidado en una sola línea
- 16. unir dos listas de diccionarios en una sola clave
- 17. Obtenga segundos hasta el final del día en PHP
- 18. PHP - ¿Cómo cambiar el nombre de una propiedad del objeto?
- 19. Acceso a la clave del objeto relacionado sin recuperar el objeto en App Engine
- 20. ¿Ejecuta una sola ejecución del complemento Maven?
- 21. Ubicación del gerente llamó una sola vez
- 22. Objeto PHP o una matriz
- 23. PHP MySQL - valor del objeto de retorno con el espacio en clave
- 24. Objeto como clave hash
- 25. PHP openssl_public_encrypt "parámetro clave no es una clave válida"
- 26. PHP: Destruye un objeto desde dentro del objeto?
- 27. Determinación del nombre de un objeto PHP
- 28. acceso JSON nombre del objeto en PHP
- 29. Obtenga un valor de clave particular de json en ruby
- 30. Obtener la clave del único elemento en una matriz de PHP
Entonces, ¿cómo sabes que tienes la llave correcta? – NullUserException
¿Está buscando hacer una 'array_search'? –
Tengo un solo objeto json convertido a php como '{" foo ": 3}' y necesito tomar tanto el nombre como el valor de la clave. – Pablo