Если равно

Я пытаюсь найти более простой и простой способ закодировать логику.

То есть, если одна переменная равна любым значениям ключа в массиве.

Например:

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

Если $ _GET ["foobar"] имеет значение A, B или C, случай вернет true. Если бы это были какие-то другие значения, он возвращал бы false.

Спасибо за помощь.

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

EDIT: добавлен дополнительный true параметр.

Вместо массивов с индексом с целыми числами вы можете использовать ассоциативные массивы:

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

Если вам не нравится вводить все значения массива или значения $ someArray, чтобы они оставались такими, какие они есть, вы можете использовать array_flip :

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

Вы даже можете хранить полезную информацию в значениях ассоциативного массива.

Вы можете использовать функцию in_array () . Я почти уверен, что это именно то, что вы ищете. Вот функция в примере кода, который вы предоставили.

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