Я пытаюсь найти более простой и простой способ закодировать логику.
То есть, если одна переменная равна любым значениям ключа в массиве.
Например:
$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; }