• 23-03-2020, 14:29:55
    #1
    Arkadaşlar merhaba,
    Aşağıdaki kod ile veri çekiyorum JSON olarak...
    $deprem->yer = $eslesmeler["Yer"]; değişkenin çektiği veri FARALLON DE PAJAROS, NORTHERN MARIANA ISLANDS şeklinde ben bunu virgülden ayırmak istiyorum. Alt alta yazacağım.
    Şu şekilde;
    FARALLON DE PAJAROS
    NORTHERN MARIANA ISLANDS

    Nasıl yapabilirim acaba? Aşağıdaki gibi yaptığımda [1] değeri veri getirmiyor hata veriyor.
    $deprem->yer = explode(",",$eslesmeler["Yer"])[0];
    $deprem->yer = explode(",",$eslesmeler["Yer"])[1];


    public function getEarthQuakesFromWeb(){
    $site = $this->file_get_contents_utf8("http://www.volkansabah.com.tr/dbs/usgs.php");
    $depremler = array();
    $icerik = '#<pre>(.*?)</pre>#si';
    
            $re = '/(?<Tarih>^\d+\.\d+\.\d+)\s+(?<Saat>\d+\:\d+\:\d+)\s+(?<Enlem>\S+\.\d+)\s+(?<Boylam>\S+\.\d+)\s+(?<Derinlik>\d+|\d+\.\d+)\s+(?:-\.-|\d\.\d)\s+(?<Mw>-\.-|\d+|\d+\.\d+)\s+(?:-\.-|\d\.\d)\s*(?<Yer>.*?(?=(?:İlksel|REVIZE[\d+]{2}|\s{2})))/m';
                    
    preg_match($icerik, $site, $icerikFonksiyon);
    $icerik = $icerikFonksiyon[1];
    $satirlar = explode("\n", $icerik);
    
    
    $i = 0;
    foreach ($satirlar as &$satir) {
    if (preg_match($re, $satir, $eslesmeler)) {
    $deprem = new Deprem();
    $deprem->siddet = $eslesmeler["Mw"];
    $deprem->tarih = date("d/m/Y", strtotime(str_replace('.', '-', $eslesmeler["Tarih"])));
    $deprem->tarih_normal = $eslesmeler["Tarih"];
    $deprem->saat = $eslesmeler["Saat"];
    $deprem->enlem = $eslesmeler["Enlem"];
    $deprem->boylam = $eslesmeler["Boylam"];
    $deprem->derinlik = $eslesmeler["Derinlik"];
    $deprem->yer = $eslesmeler["Yer"];
                    
    $deprem->veri=$veri = '<tr><td id=siddet>' . $deprem->siddet . '</td><td id=tarih>' . $deprem->tarih . '</td><td id=saat>' . $deprem->saat . '</td><td id=enlem>' . $deprem->enlem . '</td><td id=boylam>' . $deprem->boylam . '</td><td id=derinlik>' . $deprem->derinlik . '</td><td id=yer>' . $deprem->yer . '</td></tr>';
    $depremler[$i] = $deprem;
    $i++;
    }
    }
    return $depremler;
    }
  • 23-03-2020, 15:02:34
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba

    $deprem->yer = explode(",",$eslesmeler["Yer"])[0];
    $deprem->yer = explode(",",$eslesmeler["Yer"])[1];


    Yerine

    $yer = explode(",", $eslesmeler["Yer"]);
    echo $yer[0];

    yapıp dener misiniz?
  • 23-03-2020, 15:05:57
    #3
    Eagle05 adlı üyeden alıntı: mesajı görüntüle
    Merhaba

    $deprem->yer = explode(",",$eslesmeler["Yer"])[0];
    $deprem->yer = explode(",",$eslesmeler["Yer"])[1];


    Yerine

    $yer = explode(",", $eslesmeler["Yer"]);
    echo $yer[0];

    yapıp dener misiniz?
    Maalesef olmadı hiç veri çıkmadı bu kez... echo işe yarar mı bilemiyorum çok da hakim değilim ama...
  • 23-03-2020, 15:43:28
    #4
    print_r($yer);
    Yaptığınızda sonuç ne peki?
    Acaba tipi ya da içeriği mi farklı görelim
  • 23-03-2020, 15:59:37
    #5
    Eagle05 adlı üyeden alıntı: mesajı görüntüle
    print_r($yer);
    Yaptığınızda sonuç ne peki?
    Acaba tipi ya da içeriği mi farklı görelim







    TANAGA VOLCANOArray
    (
    [0] => TANAGA VOLCANO
    [1] => ALASKA
    )
    SAUMLAKIArray
    (
    [0] => SAUMLAKI
    [1] => INDONESIA
    )
    PORT-OLRYArray
    (
    [0] => PORT-OLRY
    [1] => VANUATU
    )
    Bu şekilde gidiyor...




    CENTRAL MID-ATLANTIC RIDGEArray
    (
    [0] => CENTRAL MID-ATLANTIC RIDGE
    )
    Bu şekilde virgül sonrası veri dökmeyen veriler var. Yani bazıları [1] verilerini dökmüyor. Bunları nasıl yapmak gerekir acaba?