empty("0")

Asi nejkontroverznější změnou v chování je změna ve funkci empty( ) . Řetězec obsahující pouze znak '0 ' (nula ) je nyní považován za prázdný , což v PHP 3 nebylo .

Toto nové chování smysl u aplikací pro web tam , kde všechna vstupní pole vrací řetězce , i když je požadován číselný vstup , a se schopností PHP provádět automatickou typovou konverzi . Na druhou stranu může v některých případech vést k chybnému chování , jehož příčiny se špatně zjištují , pokud nevíte , co máte hledat .