2015-04-22 38 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 

可能这会有所帮助,它是一个三元运算符