2015-04-22 281 views
0

我知道,像C#語言,你可以使用,如果喜歡的語句(我知道這有一個名字,但不記得它叫什麼)有點像這樣:PHP:如果聲明變量聲明

var variable = this ? true : false;

(我知道這不會是正確的,但它已經過了一段時間,因爲我已經完成了它們,如果錯誤請更正)。

我的問題是這樣的:你可以在PHP中做同樣的事情嗎?如果是這樣的話?

(該網站已建成的WordPress,但是這是一個關於在WP_通用PHP變量賦值*功能問題)

我希望能夠給一個變量聲明爲這樣:

$current_user = if (is_user_logged_in()) { 
    wp_get_current_user(); 
} else { 
    null; 
} 

我想知道如何去做這個單行變量decloration?

+3

其三元在PHP同樣的概念,'$ VAR =(條件)? true:false;' – Ghost

回答

5

這就是所謂的Ternary operator,你可以在一組不同的方式來使用它,一種方式是像這樣:

$cake = isset($lie) ? TRUE : FALSE; 

isset(...)可以與任何驗證來改變輸出/檢查要操作和TRUE : FALSE可以用值/變量替換。

又如:

$cake = ($pieces < 1) ? $cry : $eat; 
+2

絕對完美!到底我在找什麼,非常感謝你,我會盡快更正 –

+0

不客氣。 – Epodax

0

Ofcourse,你可以做,在php也。試試這個吧 -

$current_user = (is_user_logged_in()) ? wp_get_current_user() : null; 
0

這叫做速記if/else。 在PHP語法幾乎是相同的:

$current_user = (is_user_logged_in() ? wp_get_current_user() : null); 
+1

其實它被稱爲「三元」.. –

-1
$var = 4; // Initialize the variable 
$var_is_greater_than_two = ($var > 2 ? true : false); // Returns true as 4 is greater than 2 

可能這會有所幫助,它是一個三元運算符