2015-11-12 2 views
-2

Я хотел бы отображать $current_user->first_name значение, но если пустой, отобразите значение $current_user->user_login.PHP Условный оператор, если значения не существует

Текущий код показывается только first_name.

Мой код:

$current_user = wp_get_current_user(); 
echo 'Hi, ' . ucwords($current_user->first_name) . '!'; 
+0

'если (пусто ($ current_user-> first_name)) {' ... – rjdown

ответ

-1

Для однострочника вы можете использовать тройной оператор РНР:

echo isset($current_user->first_name) ? 'Hi, {$current_user->first_name}!' : $current_user->user_login;

+0

Я бы сказал, что 'first_name' свойство всегда имеет значение , поэтому ваш код отображает 'first_name', даже если это пустая строка. –

+0

Действительно, 'emtpy()' это должно было быть. Это более серьезная проверка, чем просто «isset». Спасибо за исправление. – Aldo

0

Вы должны использовать empty function: возвращает

echo empty($current_user->first_name) ? $current_user->user_login : $current_user->first_name 

emptytrue если переменная равна null, пустая строка, 0 и т. д. Таким образом, вы можете прочитать ternary condition как «, если имя пуста, отобразите логин пользователя, иначе имя».

Используя классическое условие это будет выглядеть следующим образом:

if (empty($current_user->first_name)) { 
    echo $current_user->user_login; 
} 
else { 
    echo $current_user->first_name; 
} 
Смежные вопросы