Я использую тернарный оператор довольно часто, но я не смог найти что-либо в документации об этом, и я всегда удивлялся этому.Уточнение оператора PHP Ternary
Ниже приведен возможный пример:
echo ($something->message ? $something->message : 'no message');
, как вы можете видеть, если $ something-> сообщение является правильным, мы возвращаем $ something-> сообщение, но зачем писать дважды? Есть ли способ сделать что-то вроде:
echo ($something->message ? this : 'no message');
Сейчас я не очень хорошо разбирается в теории программирования, так что возможно, что есть причина, по которой бывший нельзя ссылаться с чем-то как «это», но почему нет? Не приведет ли это к потоку использование тернарного оператора? За то, как мой пример это довольно бесполезно, но скажем, что это
echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');
Я не могу найти любой способ сделать это, так что я предполагаю, что это не возможно, если я ошибаюсь, пожалуйста, сообщите меня, иначе: почему бы и нет? Почему это невозможно, какова техническая причина, или это просто то, чего никогда не было? Должен ли я объявлять его как переменную, а затем тестировать эту переменную?
Возможный дубликат [Имеет ли PHP именован по умолчанию как perl?] (Http://stackoverflow.com/questions/2958630/does-php-have-a-default-assignment-idiom-like-perl) – outis