v2.5.2
Giriş yap

php json encode

kaganaydogdu
494 defa görüntülendi

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.

Cevap yaz
Cevaplar (1)
ibrahimali
1464 gün önce

Şö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);
?>