Совсем отупел :) Почему то был уверен, что преобразование идет по второй строке из таблицы, а не по первой. Что бы внести ясность: null > '0' уже будет преобразование к bool, а не к string? :)
Александр, ну сишники писали PHP, не PHP программисты же его писали :)
А вообще это видимо было продиктовано чем-то, например тем, что постоянно со строками нужно было работать и строку со значением 0 удобнее было делать так... но это моя догадка тут по факту
Максим Федоров, да не минус это, просто аффтары подобных претензий тупо ленятся почитать доку и вообще изучать новый язык. Они хотят чтоб все везде было как в том языке, который знают они, чтоб лишний раз свой слабенький мозг не напрягать.
P.S. PHP писали не Cшники, а PERLовики, и много поведения унаследовано именно оттуда.