Логическое значение ИСТИНА преобразуется в строку «1». Логическое значение ЛОЖЬ преобразуется в "" (пустая строка).
Почему ЛОЖЬ не приведен к "0"?
Если вы приводите к типу int, а затем к строке, она печатает 0 ..
$x=false; print (string)(int)$x;
Печатает 0. Вы, конечно, можете опустить приведение типа строки, как это было сделано при печати в любом случае.