CI中

2012-11-29 56 views
0

使用輸入I類檢索類似下面CI中

http://localhost/codeigniter/?first=value_on_first_param&second=value_on_second_param 

在那個網址我有代碼的URL來檢索,對URL一些GET參數

if($first = $this->input->get('first') 
    && $second = $this->input->get('second') 
){ 

    echo 'first param: '.$first; 
    echo '<br />'; 
    echo 'second param: '.$second; 

} 

然後我嘗試將URL打印分配給某些變量的參數輸出

first param: 1 
second param: value_on_second_param 

正如我們上面看到的,我有第一個參數值b e 1不是value_on_first_param。爲什麼?我在這裏做錯了什麼?謝謝。

回答

0

其因分配:

你做

$first = 
     $this->input->get('first') && 
$second = $this->input->get('second') 

就像

$first = 
     ($this->input->get('first') && 
     $second = $this->input->get('second') 
    ) 

所以$first將獲得真正的價值。

你必須使用它:

if(($first = $this->input->get('first')) 
    && ($second = $this->input->get('second')) 
){ 

    echo 'first param: '.$first; 
    echo '<br />'; 
    echo 'second param: '.$second; 

} 
+0

我明白了。如果我沒有弄錯,運算符'='的優先級低於'&&',不是嗎? – AMYunus

+0

是的,你說得對。 '&&'具有比'='更高的優先級,但是如果使用'AND',結果將如預期的那樣,因爲'='高於AND' – SubRed

+0

您可以在這裏看到完整的PHP優先列表http://php.net /manual/en/language.operators.precedence.php。 – SubRed