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??
Diziyi fonksiyon içinde kullanma?
3
●318
- 17-02-2018, 06:08:49
- 17-02-2018, 06:41:15Şö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:52Teşekkürler ama aslında $sehirler haricinde daha bir çok dizi kullanıyorum fonksiyon içerisinde. Bu yüzden hepsini bir şekilde global yapmam gerekiyorOnur89TR adlı üyeden alıntı: mesajı görüntüle
- 17-02-2018, 21:22:51Yazdığı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