Ho un oggetto con una sola chiave e il suo valore. Ma non conosco la chiave per accedervi. Qual è il modo più efficiente per ottenere la chiave senza enumerare l'oggetto?PHP: ottenere una chiave singola dall'oggetto
risposta
Se si desidera solo per accedere al valore, non è necessario la chiave (in realtà nome di proprietà) a tutti:
$value = current((array)$object);
Se si vuole veramente il nome proprietà, provate questo:
$key = key((array)$object);
Ho una matrice di oggetti e gli oggetti hanno una proprietà ciascuno, e non conosco i nomi delle proprietà. Sto iterando attraverso l'array usando il ciclo 'foreach', e per ogni oggetto, voglio sia la chiave che il valore. Ho trovato questa soluzione, ma non è inefficiente perché stai lanciando l'oggetto $ a un array ogni volta? (Scusate se è troppo semplice, ma sono un newb. Una risposta sarà molto apprezzata, in quanto non sono sicuro che sia saggio utilizzarlo o meno) .. – Solace
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
Funziona davvero per un oggetto? 'stdClass :: __ set_state (array ( 'tag1' => 1, ))' – Pablo
@Michael: Errore mio, ho pensato che stavi tentando di recuperare la chiave da un array. In tal caso, si consiglia di eseguire il cast dell'oggetto su un array molto probabilmente. Vedi l'esempio di @ thomasrutter: http://stackoverflow.com/questions/3411495/php-get-a-single-key-from-object/3411520#3411520 – gpmcadam
Inizialmente sono stato ingannato anche dall'uso della parola "chiave" , che è un termine array ... – deceze
È possibile lanciare l'oggetto in un array come questo:
$myarray = (array)$myobject;
E poi, per una serie che ha solo un singolo valore, questo dovrebbe prendere la chiave per quel valore.
$value = key($myarray);
Si potrebbe fare entrambi quelli in una riga se lo si desidera. Certo, potresti anche farlo enumerando l'oggetto, come hai detto nella tua domanda.
per ottenere il valore piuttosto che il tasto, quindi:
$value = current($myarray);
- 1. ottenere una singola riga dalla tabella
- 2. Ottenere una singola colonna da un'entità
- 3. sinistra si uniscono per ottenere una singola riga in laravel
- 4. Più valori per una singola chiave di configurazione
- 5. Django - Ottieni oggetti chiave esterna in una singola query?
- 6. PHP openssl_public_encrypt "parametro chiave non è una chiave valida"
- 7. Come ottenere una singola riga in una casella Rich Text per apparire come interlinea singola
- 8. Esiste un modo idiomatico per ottenere una chiave potenzialmente indefinita da una matrice in PHP?
- 9. PHP array_filter, come ottenere la chiave in callback?
- 10. Ottenere ultima coppia chiave-valore in PHP serie
- 11. php ottenere variabili come chiave senza alcun valore assegnato
- 12. Ottenere la chiave del solo elemento in un array PHP
- 13. Come ottenere una chiave API di Facebook?
- 14. Ottenere una chiave API v2 Google Maps
- 15. PHP Modifica una singola riga in un file di testo
- 16. php; rimuovere una singola coppia di valori variabili da querystring
- 17. php: come ottenere la chiave dell'array associativo dall'indice numerico?
- 18. È possibile utilizzare array_shift() in PHP e ottenere la chiave?
- 19. Qual è il "modo rubino" per analizzare una stringa per una singola chiave/valore?
- 20. Va bene usare l'array [chiave] in PHP?
- 21. PHP clone parola chiave
- 22. Ottenere più metriche in una singola query Interessante
- 23. chiave php() in foreach-loop strano comportamento o ottenere la chiave successivo ciclo foreach
- 24. Ottenere una risorsa da un ResourceDictionary con una chiave
- 25. Selezionare una singola riga in MySQL
- 26. Ottieni il valore di un oggetto con una chiave singola sconosciuta in JS
- 27. Come ottenere l'ultima chiave nell'array in javascript?
- 28. php ottenere il numero da una stringa
- 29. PHP/REGEX: ottenere una stringa tra parentesi
- 30. Come aggiungere una nuova colonna con vincolo di chiave esterna in una singola istruzione in oracle
Quindi, come fai a sapere che hai la chiave giusta? – NullUserException
Stai cercando di fare un 'array_search'? –
Ho un singolo oggetto json convertito in php come '{" foo ": 3}' e ho bisogno di prendere entrambi, nome chiave e valore. – Pablo