2013-02-13 8 views
-1

Это действительно основной вопрос, и я appoligize за вопрос, но это было бы очень полезно для меня, чтобы понять, так что я могу использовать этот метод в будущем,Стенография, если заявление PHP

Как бы я перехожу

if($_GET['page']) { 
    $page = $_GET['page']; 
} else { 
    $page = 0; 
} 

В простой 1-строчный сокращенный результат?

+0

Решения, предлагаемые используют тройной оператор в РНР. См. Http://php.net/manual/en/language.operators.comparison.php для получения дополнительной информации – koopajah

+1

Но, пожалуйста, не делайте 'include ($ page);' впоследствии. – oktopus

ответ

4

Try:

$page = $_GET['page'] ? $_GET['page'] : 0; 
+0

Спасибо, это сработало отлично –

0
$page=(isset($_GET['page']))?$_GET['page']:0; 
0

Я предлагаю вам использовать Исеть(), а также для лучшей обработки ошибок.

$page = (isset($_GET['page'])) ? $_GET['page'] : 0; 
0

Я хотел бы добавить стандартную проверку:

$page=isset($_GET['page'])?$_GET['page']:0; 
2

реальной простой стенографии для вашего заявления будет просто

$page = $_GET['page']; 

, который будет достаточно для большинства случаев.

Но вы на самом деле имел в виду if (isset($_GET['page'])), а не только if ($_GET['page'])
так, один из этих триад может быть использован.

Однако для таких переменных, как $page я хотел бы использовать другую стратегию, названную «определить переменные!»

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

$page = 0; 

, а затем, при обработке запроса будет установить его с некоторым значением, присутствует

if(isset($_GET['page'])) { 
    if (!is_numeric($_GET['page'])) { 
     throw new HTTP400() 
    } else { 
     $page = $_GET['page']; 
    } 
} 
+0

Это настоящий ответ! – Darkzaelus

Смежные вопросы