Мне интересно, почему это не работает, чтобы присвоить строку $ separator
:
$separator = $options['title-separator'] || ' | ';
В другом месте опция $ была назначена какому-то тексту или пустой строке. (На самом деле, , в моем случае это какой-то текст или ЛОЖЬ, но в любом случае ...). $ separator имеет значение ИСТИНА, а не строка.
Следующее выполняет то, что я хочу, но кажется излишне многословным:
$separator = ( $s = $options['title-separator'] ) ? $s : ' | ';
Я пришел из JavaScript, где оба этих примера дают один и тот же результат, что мне кажется логичным. Что мне нужно понимать в PHP, чтобы это имело смысл? Прямо сейчас меня просто раздражают сотни дополнительных символов, которые потребуются для каждого место, где используется опция.