Bir dizi belirtilen dizinde bir öğe olup olmadığını nasıl kontrol edebilirim?

3 Cevap

Ben array_key_exists olduğunu biliyorum () ama belgeleri okuduktan sonra ben bu durum için uygun eğer gerçekten emin değilim:

Ben bir $ dizi ve bir $ endeksi var. Şimdi $ dizi erişmek istiyorum, ama bir dizin uyan $ dizin vardır bilmiyorum. Ben bir ilişkisel dizi bahsetmiyorum, ama bir düz normal bir sayısal indisli bir dizi sıkıcı.

Gerçekten verilen $ indeksi ile bir $ dizi öğesine erişmek olsaydı anlamaya bir güvenli bir yolu var mı (bir tam sayıdır!)?

PHP Ben sınırların dışında bir dizin ile bir dizi erişmek ise bakım ve belki de sadece bu yüzden null döndürür ya, ama ben bile kirli kod teşebbüs etmek istemiyorum, bu yüzden want kontrol etmek değil, eğer dizi tuşunu veya değil ;-) var

3 Cevap

Kolayca kullanabilirsiniz isset():

if (isset($array[$index])) {
   // array index $index exists
}

Sizin önerdiğiniz gibi, bir varolmayan bir dizin erişmeye çalışırsanız PHP çok tür değil, bu nedenle belirli bir dizi indeksleri erişirken ile uğraşırken sınırlar içinde olduğunu kontrol çok önemlidir.

Eğer array_key_exists() kullanmaya karar verirseniz, ince bir fark olduğunu lütfen unutmayın:

isset() does not return TRUE for array keys that correspond to a NULL value, while array_key_exists() does.

İşte array_key_exists için tam olarak ne. Bu sayısal ve dize endeksler hem çalışır.