• 16-11-2018, 00:18:18
    #1
    Bir yerden json ile hava durumunu çekiyorum 5 günlük olarak ama günlük de 3 er saat aralık ile veriyor veriyi. Yani bir gün için 7-8 veri dönüyor bana. UnixTime olarak tarih var ben bunu foreach döngüsü içinde her günden bir tane olarak nasıl alabilirim acaba?


    foreach ($jsoncikti as $key => $value) {
        $hava_tarih = date('d.m.Y',$value['dt']);
        $sicaklik = $value['main']['temp'];
        $durum = $value['weather'][0]['main'];
        $saat = date('H:i',$value['dt']);
    }
    kodun şuanki hali böyle ama her gün için 7-8 tane veri döndürüyor bana
  • 16-11-2018, 19:28:00
    #2
    <?php
    $veriler = array();
    foreach ($jsoncikti as $key => $value) {
        $hava_tarih = date('d.m.Y',$value['dt']);
    	if(!isset($veriler[$hava_tarih])){
    		$veriler[$hava_tarih] = $hava_tarih;
    		$sicaklik = $value['main']['temp'];
    		$durum = $value['weather'][0]['main'];
    		$saat = date('H:i',$value['dt']);
    	}
    }
    ?>
    $veriler diye boş bir array oluştururuz, döngüdeki her bir günü key olarak alıp $veriler ekleriz, $veriler de o gün yoksa(!isset) ekleme işlem yap deriz.

    koduna ek olarak
    tum hepsini $veriler e toplayıp ordan işlemlerine devam edebilirsin.
    <?php
    $veriler = array();
    foreach ($jsoncikti as $key => $value) {
        $hava_tarih = date('d.m.Y',$value['dt']);
    	if(!isset($veriler[$hava_tarih])){
    		$veriler[$hava_tarih] = array(
    			'hava_tarih' => $hava_tarih,
    			'sicaklik' => $value['main']['temp'],
    			'durum ' => $value['weather'][0]['main'],
    			'saat' => date('H:i',$value['dt']),
    		);
    	}
    }
    
    print_r($veriler);
    ?>
  • 16-11-2018, 19:42:03
    #3
    trgino adlı üyeden alıntı: mesajı görüntüle
    <?php
    $veriler = array();
    foreach ($jsoncikti as $key => $value) {
        $hava_tarih = date('d.m.Y',$value['dt']);
        if(!isset($veriler[$hava_tarih])){
            $veriler[$hava_tarih] = $hava_tarih;
            $sicaklik = $value['main']['temp'];
            $durum = $value['weather'][0]['main'];
            $saat = date('H:i',$value['dt']);
        }
    }
    ?>
    $veriler diye boş bir array oluştururuz, döngüdeki her bir günü key olarak alıp $veriler ekleriz, $veriler de o gün yoksa(!isset) ekleme işlem yap deriz.

    koduna ek olarak
    tum hepsini $veriler e toplayıp ordan işlemlerine devam edebilirsin.
    <?php
    $veriler = array();
    foreach ($jsoncikti as $key => $value) {
        $hava_tarih = date('d.m.Y',$value['dt']);
        if(!isset($veriler[$hava_tarih])){
            $veriler[$hava_tarih] = array(
                'hava_tarih' => $hava_tarih,
                'sicaklik' => $value['main']['temp'],
                'durum ' => $value['weather'][0]['main'],
                'saat' => date('H:i',$value['dt']),
            );
        }
    }
    
    print_r($veriler);
    ?>
    Başka bir şekilde çözmüştüm ama bunuda bir inceleyeyim hocam daha az sorgu olacak gibi olmadı bunu kullanırım çok teşekkürler.