Intereting Posts

Тройной оператор и приведение строки конкатенации?

Привет, я просто хочу знать, почему этот код дает (по крайней мере для меня) неправильный результат.

Ну, наверное, я виноват здесь

$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other'; 

Я предполагал, что если paperType равно «Bond», тогда описание «Paper: Bond», и если paperType не равен «Bond», тогда описание «Paper: Other».

Но когда я запускаю этот код, результаты являются описанием «Bond» или «Other», и мне стало интересно, куда идет строка «Бумага:» ???

Related of "Тройной оператор и приведение строки конкатенации?"

 $description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other'); 

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

Это связано с приоритетом оператора. Вы должны сделать следующее:

 $description = 'Paper: ' . (($paperType == 'bond') ? 'Bond' : 'Other');