В настоящее время у меня есть: $_GET["number"] == "one"
Я пытаюсь проверить php на url ?number=one
?number=two
или ?number=three
.
Как упростить код ниже, чтобы он проверял все 3:
(isset($_GET["number"] == "one" && $_GET["number"] == "two" && $_GET["number"] == "three")
if (isset($_GET['number'])) {
$options = array("one", "two", "three");
in_array($_GET['number'], $options);
}
Таким образом, вы можете расширить свои возможности позже. Первая строка состоит в том, чтобы убедиться, что, когда параметр числа отсутствует, не выполняйте часть кода, вам может и не понадобиться. Проверьте основную часть http://php.net/manual/en/function.in-array.php.
Надеюсь, вы ищете что-то вроде этого:
if(isset($_GET["number"]) && ($_GET["number"] == "one" || $_GET["number"] == "two" || $_GET["number"] == "three")){
// Do something here
}
Пожалуйста, проверьте ниже:
$arg = array('one', 'two', 'three');
if (isset($_GET["number"]) && in_array($_GET["number"], $arg, TRUE)) {
// do the stuff
switch ($_GET["number"]) {
case 'one':
// code to be executed for one
break;
case 'two':
// code to be executed for two
break;
case 'three':
// code to be executed for three
break;
}
}
в первую очередь вы не можете поместить условие в свой isset()
Затем, если вы хотите проверить наличие предмета, используйте оператор OR (||
). Если вы хотите проверить наличие всех элементов, используйте оператор AND (&&
). Так что в коде вам нравится это
if(isset($_GET['number']) && ($_GET['number'] == 'one' || $_GET['number'] == 'two' || $_GET['number'] == 'three'))
{
// do your stuff here
}
||
вместо&&