Deyimi için bir dizi değerini kontrol etmek için en iyi yolu

1 Cevap php

Böyle bir dizide bir değer olup olmadığını kontrol etmek istiyorum:

function check_value_new ($list, $message) {
    foreach ($list as $current) {
        if ($current == $message) return true;
    }
    return false;
}

function check_value_old ($list, $message) {
    for ($i = 0; $i < count ($status_list); $i ++) {
        if ($status_list[$i] == $$message) return true;
    }
    return false;
}

$arr = array ("hello", "good bye", "ciao", "buenas dias", "bon jour");
check_value_old ($arr, "buenas dias"); // works but it isn't the best
check_value_new ($arr, "buenas dias"); // argument error, where I'm wrong?

Ben check_value_new yöntemi diziler ile çalışmak için daha iyi bir yoldur, ama ben onunla çalışmak için kullanılan değilim, nasıl bunu düzeltmek gerekir okudunuz?

1 Cevap

PHP bir değer verilen bir dizide varsa denetler in_array adında bir fonksiyonu sunuyor.

Bunu eklemek için check_value_new işlevini değiştirebilirsiniz:

function check_value_new ($list, $message) {
   foreach ($list as $current) {
     if (in_array($message, $current)) {
            return true;
  }
   return false;
}

Sen, sen de böylece gibi, foreach döngü olmadan fonksiyon iş yapabilir isterseniz

function check_value_new ($list, $message) {
  // returns true if found, else returns false.
     return in_array($message, $list); 
 }