Уточнение тернарного оператора PHP

Я использую троичный оператор довольно часто, но я не смог найти ничего в документации по этому поводу, и мне всегда было интересно.

Ниже приведен возможный пример:

echo ($something->message ? $something->message : 'no message');

как видите, если $ нечто-> сообщение верное, мы возвращаем $ нечто-> сообщение, но зачем писать его дважды? Есть ли способ сделать что-то вроде:

echo ($something->message ? this : 'no message');

Сейчас я не очень разбираюсь в теории программирования, поэтому возможно, что есть причина, по которой на первое нельзя ссылатьсялайк "это", но почему бы и нет? Не приведет ли это к поточному использованию троичного оператора? Для чего-то вроде моего примера это довольно бесполезно, но скажем так

echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');

Я не могу найтилюбой способ сделать это, поэтому я предполагаю, что это невозможно, если я ошибаюсь, пожалуйста, сообщите мне, в противном случае: почему бы и нет? Почему это невозможно, какова техническая причина или это просто то, чего никогда не было? Должен ли я объявить его как переменную, а затем проверить ее?

Ответы на вопрос(1)

Ваш ответ на вопрос