Ho una variabile di sessione $_SESSION["animals"]
contenente un oggetto JSON profondo con valori:JSON Cerca e rimuovi in php?
$_SESSION["animals"]='{
"0":{"kind":"mammal","name":"Pussy the Cat","weight":"12kg","age":"5"},
"1":{"kind":"mammal","name":"Roxy the Dog","weight":"25kg","age":"8"},
"2":{"kind":"fish","name":"Piranha the Fish","weight":"1kg","age":"1"},
"3":{"kind":"bird","name":"Einstein the Parrot","weight":"0.5kg","age":"4"}
}';
Per esempio, voglio trovare la riga con "Piranha Pesce" e quindi rimuoverlo (e json_encode di nuovo come era). Come fare questo? Credo di aver bisogno di cercare nell'array risultante json_decode($_SESSION["animals"],true)
e trovare la chiave genitore da rimuovere ma sono comunque bloccato.
Grazie! E come farlo se non conosco il nome della chiave? – moogeek
Non è la soluzione migliore se non si conosce il nome della chiave. – Sarfraz
@moogeek: intendi "tipo", "nome", "peso" e "età" in questo caso? Se non lo sai, dovrai introdurre un altro livello di iterazione, scorrendo attraverso '$ value' e controllando ogni sottovalore con la tua stringa. Se lo trovi, 'unset ($ animals [$ key])' funzionerà come sopra, e potrai uscire dal ciclo. Ho aggiunto questo codice alla mia risposta. –