Только если isset() и равенство значений

Просто простой php-вопрос, у меня есть это:

if(isset($_GET['i'])) { if($_GET['i']=='dash') {

Можно использовать один IF? Спасибо!

Ответ 1

Используйте логический оператор.

if (isset($_GET['i']) && $_GET['i'] == 'dash') {

Это проверит, что оба условия return true в тесте.

Ответ 2

Я делаю так:

function initGet($var, $default=''){
    if(!isset($_GET[$var])) return $default;
    return $_GET[$var];
}

Итак, вы можете легко проверить:

if(initGet('i')=='dash'){

И при необходимости вы можете добавить значение по умолчанию:

if(initGet('i', 'dash')=='dash'){
     // would be true if $_GET['i'] is not set

Ответ 3

Вы также можете использовать array_intersect_assoc, чтобы сразу проверить оба условия:

if (array_intersect_assoc($_GET, array("i" => "dash"))) {