我有一个包含有值的深JSON对象会话变量$_SESSION["animals"]
:再次JSON在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"}
}';
例如,我想找到与“食人鱼鱼”的行,然后将其删除(和json_encode它,因为它是)。 如何做到这一点?我想我需要在json_decode($_SESSION["animals"],true)
搜索结果数组,并找到父键删除,但我无论如何被困住。
谢谢!如果我不知道关键的名字,怎么做? – moogeek 2010-05-25 02:24:43
如果不知道密钥名称,这不是更好的解决方案。 – Sarfraz 2010-05-25 02:26:19
@moogeek:在这种情况下,你的意思是“善良”,“名称”,“体重”和“年龄”?如果你不知道,你需要引入另一层迭代,循环'$ value'并检查每个子值与你的字符串。如果你发现它,'unset($ animals [$ key])'会像上面那样工作,然后你就可以跳出循环。我已将此代码添加到我的答案中。 – 2010-05-25 02:38:52