2013-02-13 52 views
-1

這是一個非常基本的問題,我appoligize問一下,這將是非常有用的,我聽不懂,所以我可以在以後使用此方法,速記if語句PHP

我怎麼會變成

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

進入一個簡單的1行速記結果?

+0

使用在PHP三元操作者所提供的解決方案。請參閱http://php.net/manual/en/language.operators.comparison.php瞭解更多信息 – koopajah 2013-02-13 12:57:17

+1

但是,請勿在之後執行'include($ page);'。 – oktopus 2013-02-13 13:05:47

回答

4

嘗試:

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

謝謝,這工作完美 – 2013-02-13 12:49:23

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

我建議你使用isset()函數,以及更好的錯誤處理。

$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 2013-02-13 13:02:54