2014-09-09 30 views
11

Bir diziye bu dizide bulunmayan bir anahtarla erişmeye çalıştığımda, php "tanımlanmamış dizin" uyarı hatasını yükseltir. Aynı dizeleri üzerinde yapmaya çalıştığımda, "Geçersiz dize ofset" uyarısı yükselir. Bu beklenen bir davranış ve onunla nasıl başa çıkacağımı biliyorum.Boolean değerinde dizi dizinine erişim neden herhangi bir hata vermez?

ini_set('display_errors', 1); 
error_reporting(E_ALL); 

$var = false; 
var_dump($var['test']); 

bazı hata mesajları görmeyi bekliyoruz, ancak $var['test'] sadece sessizce NULL ayarlar: Ben boolean veya tamsayı değerlerine bu çalıştığımızda

Ama hiçbir şey olmuyor.

Peki neden php bir dizi anahtar üzerinden yanlış bir şey yaptığınıza dair herhangi bir belirti olmadan boole değerine erişme izni veriyor? Delik "bir dizi anahtar aracılığıyla erişim boolean değeri" ifadesi bana çok tuhaf geliyor, ama bunu php'de yapabilirsiniz.

+1

hangi hata iletisini istersiniz? –

+0

@Dagon "Tanımlanmamış bir dizin" bekliyordum. Hangi hatayı istediğim önemli değil. Sadece neden bir hata mesajı olmadığını merak ediyorum. –

+0

aslında bunu test ettim, $ var = 123; bu tamsayılarda da oluşur – Ghost

cevap

İlgili konular