Проверка операторов If Then в PHP - PullRequest
5 голосов
/ 21 апреля 2009

Когда я пишу оператор if, он проверяет переменную следующим образом:

if(isset($_GET['username']){
 echo "set";
 } else {
 echo "unset";
}

Как мне получить оператор if, чтобы проверить, установлены ли две переменные, аналогичные этому:

if(isset($_GET['username'] & $_GET['firstname'])){
 echo "set";
 } else {
 echo "unset";
}

Так в принципе, как я могу проверить две вещи в операторе if одновременно?

Ответы [ 7 ]

11 голосов
/ 21 апреля 2009

Ознакомьтесь с руководством по PHP для структур управления и логических операторов :

if(isset($_GET['username']) && isset($_GET['firstname'])) {
    echo "set";
} else {
    echo "unset";
}

Использование одиночного & означает побитовую операцию , что, безусловно, не то, что вам нужно.

and также является синонимом синтаксиса &&, как показали другие ответы.

РЕДАКТИРОВАТЬ : Как указано в комментариях, вы можете проверить, установлены ли две переменные в isset, передав их обе в функцию isset. Однако, если вы когда-нибудь захотите выполнить какую-либо другую операцию, вам потребуется выполнить приведенные выше логические операторы.

7 голосов
/ 21 апреля 2009
if ( isset($_GET['username'], $_GET['firstname']) ) {
    echo 'Set!';
}

isset принимает несколько аргументов, и если указано несколько параметров, isset () вернет TRUE, только если все параметры установлены. Оценка идет слева направо и останавливается, как только встречается неустановленная переменная.

2 голосов
/ 21 апреля 2009
if ( isset($_GET['username']) && isset($_GET['firstname']) )
1 голос
/ 21 апреля 2009

да или

echo ((isset ($ _ GET ['username']) && isset ($ _ GET ['firstname']))? "Set": "unset");

1 голос
/ 21 апреля 2009

Попробуйте использовать оператор && (логический и) вместо & (двоичный и)

, так что если isset возвращает true для обоих, тогда if возвращает true, иначе if возвращает false.

0 голосов
/ 21 апреля 2009
if (isset($_GET['username']) && isset($_GET['firstname']))
{ 
    echo "set"; 
} 
else 
{ 
    echo "unset"; 
}

Для справки: Операторы PHP

0 голосов
/ 21 апреля 2009
if (isset($_GET['username']) AND isset($_GET['firstname']))
{
    echo "set";
}
else
{
    echo "unset";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...