php json encode
Merhabalar php ile json çıktısı alırken bir sorunla karşılaştım
[
{
"baslik": "sadf asdf asdf sdf",
"kullanici": "admin"
},
{
"baslik": "sadf asdf asdf sdf",
"kullanici": "admin"
}
]
Yukarıdaki gibi bir çıktısı almaya ihtiyacım var, json için kullandığım php kodları aşağıda.
<?php
foreach ($entry as $entryler) {
$user=$db->query("select * from kullanicilar where id='$entryler[kullanici]'")->fetch(PDO::FETCH_ASSOC);
$tarih=date("d.m.Y H:i",$entryler[tarih]);
$array[] =
array(
"baslik" => "$baslik2",
"kullanici" => "$user[nick]"
);
$json = json_encode($array, JSON_PRETTY_PRINT);
echo "<pre>$json</pre>";
}
?>
Bu kodları kullandığım zaman aşağıda göründüğü gibi ilk veriyi 2 defa yazdırıyor.
echo"
[
{
"baslik": "sadf asdf asdf sdf",
"kullanici": "admin"
}
]
[
{
"baslik": "sadf asdf asdf sdf",
"kullanici": "admin"
},
{
"baslik": "sadf asdf asdf sdf",
"kullanici": "admin"
}
]
Bu sorunu nasıl çözebilirm yardımcı olabilirseniz sevinirim.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
Şöyle dene:
<?php
$array = [];
foreach ($entry as $entryler) {
$user=$db->query("select * from kullanicilar where id='$entryler[kullanici]'")->fetch(PDO::FETCH_ASSOC);
$tarih=date("d.m.Y H:i",$entryler[tarih]);
$array[] =[
"baslik" => "$baslik2",
"kullanici" => "$user[nick]"
];
echo "<pre>$json</pre>";
}
$json = json_encode($array, JSON_PRETTY_PRINT);
?>