2015-04-22 2 views
0

Я знаю, что в таком языке, как C# вы можете использовать, если подобное заявление (я знаю, что у них есть имя, но не могу вспомнить, что это называется) вроде этого:PHP: Если оператор в объявлении переменной

var variable = this ? true : false;

(Я понимаю, что это будет неправильно, но прошло какое-то время с тех пор, как я их сделал, пожалуйста, исправьте, если ошибаетесь).

Мой вопрос: Можете ли вы сделать то же самое на PHP, если да, то как?

(Сайт был построен в WordPress, но это вопрос о родовой PHP присваивании значения переменного над wp_ * функциональность)

Я хочу, чтобы иметь возможность объявить переменный как таковые:

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

, и я задавался вопросом, как я буду делать это однократное различие в переменной скорости?

+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 

Может быть, это помогает, его тройная оператор

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