Задать вопрос
woonem
@woonem

У меня проблемы с короткой записью IF. Как сократить PHP код?

Как сократить всё до одной строки, без необходимости объявлять $displaypwd?
if ($pwd=='/home/'.$user)
	$displaypwd='~';
else
	$displaypwd=$pwd;
echo '<b>'.$user.'@'.$host.':'.$displaypwd.'#</b> ';

Уже не первый раз задаю подобный вопрос, никак не разберусь с короткой записью IF, она у меня как-то неправильно работает.. Да, да, с интерпретатором всё хорошо, я просто делаю что-то не так.
С виду всё верно, но не работает:
echo '<b>'.$user.'@'.$host.':'.(($pwd=='/home/'.$user) ? '~' : $pwd).'#</b> ';

Весь код здесь, рабочая версия здесь.

UPD: ошибку нашёл, к выражению она не относится.. Надеюсь вопрос не задержится. Спасибо
  • Вопрос задан
  • 394 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 3
alsopub
@alsopub
Все верно и должно работать.
Ищите еще ошибку или опечатку.
Короткий рабочий проверенный пример:
$a = 0; // поставить 0 или 1
echo 'a'.($a==1 ? '-1-' : '-0-').'b';
Ответ написан
Daemon23RUS
@Daemon23RUS
Выражение работает
echo '<b>'.$user.'@'.$host.':'.(($pwd=='/home/'.$user) ? '~' : $pwd).'#</b> ';
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
echo '<b>'.$user.'@'.$host.':'.($pwd=='/home/'.$user?'~':$pwd).'#</b> ';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы