PHP - сделать этот код короче - PullRequest
0 голосов
/ 12 января 2011

У меня есть этот код PHP (get_option - функция Wordpress).

    <?php $hahaha = get_option('hahaha'); 
    if(empty($hahaha)) { 
       echo 'false'; 
    } 
    else { 
       echo 'true'; 
    }
?>

Код кажется мне неубедительным, есть ли способ сделать его короче, как (мое воображение;)):

<?php $hahaha = get_option('hahaha');
if($hahaha): 'true' // 'false'
?>

Ответы [ 7 ]

4 голосов
/ 12 января 2011

Вы можете использовать троичный оператор, но я не уверен, что он много делает для удобства чтения:

echo (empty($hahaha) ? 'false' : 'true');
3 голосов
/ 12 января 2011
$hahaha = get_option('hahaha'); 
echo $hahaha ? 'true' : 'false';

Нет необходимости в empty, поскольку переменная определенно установлена. Чистое логическое сравнение работает просто отлично.

Если вам больше не нужна переменная для чего-то другого, вы также можете пропустить ее:

echo get_option('hahaha') ? 'true' : 'false';
2 голосов
/ 12 января 2011
$hahaha = get_option('hahaha');
echo empty($hahaha) ? 'true' : 'false';

См. http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary для более подробной информации о троичном операторе.

1 голос
/ 12 января 2011
echo empty($hahaha)?'false':'true';
0 голосов
/ 20 февраля 2011

Будет отображаться 0 или 1

$options = get_options(...);

echo empty($options); ИЛИ echo !empty($options);

0 голосов
/ 12 января 2011
<?php $hahaha = get_option('hahaha');
echo (isset($hahaha)) ? 'true': 'false';
0 голосов
/ 12 января 2011
echo empty($hahaha = get_option('hahaha')) ? 'false' : 'true';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...