Konya adlı üyeden alıntı: mesajı görüntüle
Merhaba arkadaşlar elimde bir adet json formatında kod bulunmakta yapısı biraz kaışık içinde çok fazla obje barındırabiliyor . ancak ben bütün objeleri tek döngüde listelemek istedim sadece ilk objeyi yazdırdım
2. kod örneğimde objeleri array merge ile birleştirdim istediğim sonuç çıkıyor ancak objeler dinamik yani yerine göre 3 yerine göre 5 obje olabiliyor bu konuda yardımcı olabilirmisiniz
<!doctype html> <html lang="en"> <head> </head> <body> <div id="genel" style= "width:600px;margin:0 auto"> <table cellspacing="0" width="100%"> <thead> <tr> <th>Model</th> <th>Marka</th> </tr> </thead> <tbody> <?php $data = <<<DATA {"m":[ {"d":"20.02.2018","m":[[1999,"Ford"],[2015,"Scania"]]}, {"d":"21.02.2018","m":[[2017,"Mercedes Axor"],[2003,"Man Tgx"]]} ]} DATA; $json = json_decode($data); $liste = $json->m; //burda ilk m ye ulaşıyorum $yaz = $liste[0]->m; //burda ilk m içeriğine ulaşıyorum $liste[1]->m yaparsam 2. objeye ulaşıyor //döngüde haliyle ilk objeyi yazıyor 2. objeyi yazmıyor for($i=0;$i<2;$i++){ ?> <tr> <td><?php echo $yaz[$i][0]?></td> <td><?php echo $yaz[$i][1]?></td> </tr> <?php } ?> </tbody> </table> </div> </html>
bende objeleri array merge ile birleştirip denedim sonuç olumlu ancak objeler standart değil bazen 3 bazen 5 gibi değişiyor
<!doctype html> <html lang="en"> <head> </head> <body> <div id="genel" style= "width:600px;margin:0 auto"> <table cellspacing="0" width="100%"> <thead> <tr> <th>Model</th> <th>Marka</th> </tr> </thead> <tbody> <?php $data = <<<DATA {"m":[ {"d":"20.02.2018","m":[[1999,"Ford"],[2015,"Scania"]]}, {"d":"21.02.2018","m":[[2017,"Mercedes Axor"],[2003,"Man Tgx"]]} ]} DATA; $json = json_decode($data); $liste = $json->m; //burda ilk m ye ulaşıyorum //objeleri birleştirdim fakat bazan 10 obje oluyor bazen 2 obje bazen 4 yani her zaman değişebiliyor $yaz0 = $liste[0]->m; $yaz1 = $liste[1]->m; $merge = array_merge($yaz0,$yaz1); //döngüde istediğim sonuç oldu ancak objeler sürekli değişiyor for($i=0;$i<4;$i++){ ?> <tr> <td><?php echo $merge[$i][0]?></td> <td><?php echo $merge[$i][1]?></td> </tr> <?php } ?> </tbody> </table> </div> </html>
direk foreach kullanin for kullanmayin