Детские ошибки, которые в последнее время отъели у меня немало времени и нервов. Разрабатывая сложные вещи не забывайте и о подобной чепухе. (Все примеры сведены к бессмысленному минимально иллюстрирующему коду).
OR
В PHP, как самом умном, результатом операторов && и || является TRUE/FALSE. Казалось бы, логично, что результатом логического оператора является логическое значение. Однако, другие языки развратили меня тем, что возвращают в этом случае значение одного из аргументом.
В итоге строка $x || $y || $z
вместо целочисленного значения одной из переменных, вернула предательский TRUE. После нелёгких поисков пришлось одну строку заменять на кучу ветвлений.