Bir dizi değeri varsa nasıl kontrol edebilirim?

7 Cevap php

$something['say'] 'bla' değerini veya varsa nasıl kontrol edebilirim 'omg'?

$something = array('say' => 'bla', 'say' => 'omg');

7 Cevap

Kullanma if?

if(isset($something['say']) && $something['say'] == 'bla') {
    // do something
}

BTW, sen anahtarla bir değer atama say iki kez, dolayısıyla dizisi sadece bir değere sahip bir dizi neden olur.

Sen PHP in_array fonksiyonu kullanabilirsiniz

if (in_array("bla", $something)) {
    echo "has bla";
}

Dizin tanımlı olup olmadığını kontrol etmek için: isset($something['say'])

Bir dizi isset() veya hatta bazen daha iyi array_key_exists() (dokümantasyon farkları açıklar) tüm veya belli bir öğe olup olmadığını test edebilirsiniz. ': Undefined index .... uyarı' mesajları dizi indeksi ile bir elemanı o ilk ya da alabilirsiniz test etmelisiniz 'demek' varsa emin olamaz eğer.

Elemanın değeri izin vermez kullanabileceğiniz bir dize == ya da (yine bazen daha iyi) kimlik operatörü === eşit olup olmadığını test gelince type juggling.

if( isset($something['say']) && 'bla'===$something['say'] ) {
  // ...
}
$search_array = array('user_from','lucky_draw_id','prize_id');

if (in_array('prize_id', $search_array)) {
    echo "The 'prize_id' element is in the array";
}

/ / Burada çıktı> 'prize_id' öğesi dizide olduğu

$search_array = array('user_from','lucky_draw_id','prize_id');

if (array_key_exists('prize_id', $search_array)) {
    echo "The 'prize_id' element is in the array";
}

/ / Burada çıktı> :)

Conclusion: array_key_exists not works with simple array, use in_array instead of that.

Peki, ilk birleşmeli dizisi kapalı sadece bir kez tanımlanır, bir anahtar olabilir, bu nedenle bu dizi var asla. Aksi takdirde, sadece bu özel dizi elemanı olası çözümleri bir dizi olup olmadığını in_array() belirlemek için kullanabilirsiniz.

in_array () sadece kontrol ediyoruz eğer gayet iyi ama bir değer var olduğunu kontrol edin ve ilişkili anahtar dönmek gerekirse, array_search daha iyi bir seçenektir.

$data = array(
    0 => 'hello',
    1 => 'world'
);

$key = array_search('world', $data);

if ($key) {
    echo 'Key is ' . $key;
} else {
    echo 'Key not found';
}

Bu "Key 1" yazdıracak