[Değişken Al] [Dizi] eşittir

3 Cevap

Ben bir mantık kodu daha kolay ve basit bir yol bulmaya çalışıyorum.

Bir değişken bir dizi herhangi bir anahtar değerlerine eşit olup olmadığını olmasıdır.

Örneğin:

$someArray = array("a","b","c");
If($_GET["foobar"] == $someArray) {
     return true;
} else {
     return false;
}

$ _GET ["Filanca"] A, B veya C değeri olsaydı, durum gerçek dönecekti. Herhangi diğer değerler ise, bu yanlış dönecekti.

Yardımlarınız için teşekkürler.

3 Cevap

return in_array($_GET["foobar"], $someArray, true);

EDIT: Eklendi isteğe bağlı true parametresi.

Aksine tamsayı endeksli diziler yerine, ilişkilendirilebilir dizilerle yararlanabilirler:

$someArray = array('a' => 1, 'b' => 1, 'c' => 1);
if (isset($someArray[$_GET['foobar']])) {
    ...
}

Tüm dizi değerleri veya $ someArray değerleri oldukları gibi kalmak gerekir yazın dışarı beğenmezseniz, kullanmak array_flip yapabilirsiniz:

$someArray = array('a', 'b', 'c');
...
$otherArray = array_flip($someArray);
if (isset($otherArray[$_GET['foobar']])) {
    ...
}

Hatta birleşmeli dizinin değerlerine yararlı bilgileri saklayabilirsiniz.

Sen in_array() işlevini kullanabilirsiniz. Ben aradığınız tam olarak ne olduğuna eminim. Burada sağlanan kod örneğinde fonksiyonudur.

$someArray = array("a","b","c");
if(in_array($_GET["foobar"],$someArray)) {
     return true;
} else {
     return false;
}