• 17-02-2018, 06:08:49
    #1
    function(){
    global $sehirler;
    foreach ($sehirler as $key => $value) {
    $sehir[$key] = "<a href=\"city.php?cid=$key\">$value</a>\n";
    }
    $yaz = implode(", ", $sehir);
    echo $yaz;
    }
    Arkadaşlar veritabanından çektiğim anahtarları plaka kodlarından, değerleri ise şehir isimlerinden oluşan diziyi fonksiyon içinde kullanamıyorum. Dizilerin globalleştirilmesi ile ilgili bir kural mı var? Bunun için ne yapmam gerekiyor acaba??
  • 17-02-2018, 06:41:15
    #2
    Şöyle deneyebilirsin.
    function sehir($shr) {
    foreach ($shr as $key => $value) {
    $shr2[$key] = "<a href=\"city.php?cid=$key\">$value</a>\n";
    }
    $yaz = implode(", ", $shr2);
    echo $yaz;
    }
    // $sehirler bir array olacak ve değer vereceksin. Sonra altına şunu yazarak çalıştırırsın:
    sehir($sehirler);
    Bu şekilde olması lâzım.
  • 17-02-2018, 15:57:52
    #3
    Onur89TR adlı üyeden alıntı: mesajı görüntüle
    Şöyle deneyebilirsin.
    function sehir($shr) {
    foreach ($shr as $key => $value) {
    $shr2[$key] = "<a href=\"city.php?cid=$key\">$value</a>\n";
    }
    $yaz = implode(", ", $shr2);
    echo $yaz;
    }
    // $sehirler bir array olacak ve değer vereceksin. Sonra altına şunu yazarak çalıştırırsın:
    sehir($sehirler);
    Bu şekilde olması lâzım.
    Teşekkürler ama aslında $sehirler haricinde daha bir çok dizi kullanıyorum fonksiyon içerisinde. Bu yüzden hepsini bir şekilde global yapmam gerekiyor
  • 17-02-2018, 21:22:51
    #4
    Yazdığınız betikte syntax hatası var. Sistemde de bu şekilde kullanıyorsanız gerçek sorun bu olabilir.
    $sehir[$key] = "<a href="city.php?cid=$key">$value</a>\n";
    yerine
    $sehir[$key] = "<a href='city.php?cid=$key'>$value</a>\n";
    veya
    $sehir[$key] = "<a href=\"city.php?cid=$key\">$value</a>\n";
    Betik içerisinde küresel değişken kullanmak için global $değişken; ya da $GLOBALS["değişken"] kullanıyoruz, bildiğim kadarıyla bunun diziler/nesneler vs. için ayrı ayrı yöntemleri yok.
    @Onur89TR; arkadaşın cevabı işinizi gördüyse tek tek küreselleştirmek yerine $GLOBALS["dizi"] yöntemini deneyin.
    http://php.net/manual/tr/reserved.variables.globals.php