New answer
Revize soru Re: foreach
aslında özellikleri yanı sıra çok değerli öğeler (diziler), ile çalışır details here. Senin soru JSON dize ile, Yani örneğin:
$data = json_decode($json);
foreach ($data as $name => $value) {
// This will loop three times:
// $name = inbox
// $name = sent
// $name = draft
// ...with $value as the value of that property
}
Özellikleri üzerinde ana döngü içinde, dizi girdileri üzerinde her özellik noktaları gitmek için bir iç döngü kullanabilirsiniz. Yani örneğin, eğer know üst düzey özelliklerin her biri bir dizi değeri vardır ve her dizi girişin "ad" özelliği, bu kodu vardır o:
$data = json_decode($json);
foreach ($data as $name => $value) {
echo $name . ':'
foreach ($value as $entry) {
echo ' ' . $entry->firstName;
}
}
... Gösterecektir:
inbox:
Brett
Jason
Elliotte
sent:
Issac
Tad
Frank
draft:
Eric
Sergei
Old answer(s)
Begin edit
Re your comment:
Şimdi birkaç nesneler ile json dize çözmek için bilmek istiyorum!
Örnek does birkaç nesne var, onlar sadece tüm bir sarıcı nesnenin içinde bulunan konum yayınlanmıştır. Bu JSON bir gerekliliktir; (örneğin) bu yapamaz:
{"name": "I'm the first object"},
{"name": "I'm the second object"}
Bu JSON geçerli değil. Orada has tek bir üst düzey nesnesi olacak. Bu sadece bir dizi içerebilir:
{"objects": [
{"name": "I'm the first object"},
{"name": "I'm the second object"}
]}
... Ya tabii ki isimleri nesneleri birey verebilir:
{
"obj0": {"name": "I'm the first object"},
"obj1": {"name": "I'm the second object"}
}
End edit
Sizin örnek üç özelliklerini içeren bir nesne, her biri değeri nesnelerinin bir dizidir. Aslında, (aynı zamanda dizinin değerlere sahip özellikleri olan bir nesne vardır) Eğer bağlı söz konusu örnekte çok farklı değil.
Yani:
$data = json_decode($json);
foreach ($data->programmers as $programmer) {
// ...use $programmer for something...
}
foreach ($data->authors as $author) {
// ...use $author for something...
}
foreach ($data->musicians as $musician) {
// ...use $musician for something...
}