Я думаю, что все дали решение, я хотел бы сообщить причину неожиданного результата.
Прежде всего здесь вы можете проверить происхождение и то, как оцениваются операторы (слева, справа, ассоциативно и т. Д.).
http://php.net/manual/fa/language.operators.precedence.php
Теперь, если мы проанализируем ваше предложение.
$ paperType = 'bond';
$ description = 'Paper:'. ($ paperType == 'bond')? 'Bond': 'Other';
1) Мы просматриваем таблицу и находим, что сначала вычисляются скобки, а затем '.' (конкатенация) вычисляется и в конце тернарный оператор '?', поэтому мы можем связать это следующим образом:
// evaluate the parenthesis ... ($ paperType == 'bond')
$ description = ('Paper:'. 1)? 'Bond': 'Other';
//result
$ description = 'Paper: 1'? 'Bond': 'Other';
2) Теперь у нас есть троичный оператор, мы знаем, что строка оценивается как «истина»
// php документация
При преобразовании в логическое значение следующие значения считаются ложными:
...
пустая строка и строка "0"
$ description = true? 'Bond': 'Other';
3) Наконец-то
$ description = 'bond';
Надеюсь, я прояснил вопрос.
Привет.