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