#php #formatting #ternary-operator
#php #форматирование #тернарный оператор
Вопрос:
Может кто-нибудь просветить меня, что может быть не так в следующем коде?
$wOwner = ($owner instanceof IIdentity ? $owner->getName() : $owner);
var_dump($wOwner);
$wOwner = ($owner instanceof IIdenity
? $owner->getName()
: $owner);
var_dump($wOwner);
Я получаю следующий вывод
string '1555' (length=4)
object(Member)[2] //snipping out the object properties
Я заинтересован в расширении такого типа выражения при конкатенации строк, например.
$msg = 'Answer is' . ( $expr ? 'yes' : 'no' );
Комментарии:
1. Почему бы вам не использовать простой оператор if — else?
2. Я использую его, но мне просто интересно, почему эти два результата дают разные выходные данные, когда единственным отличием является символ новой строки?
Ответ №1:
Это никак не связано с новой строкой, просто потому IIdentity
, что отличается от IIdenity
!