People make mistakes. Computers don't. So people program computers to catch their mistakes, before those mistakes become problems like "crashing" or "losing money".
If you give the compiler invalid input, a subtly-broken program should not be the output. The output should be an error pointing you to your mistake.
True, but in this case PHP corrected its error (it now returns null for this use case, as it should)... this is why you don't rely on undocumented behaviour as canonical. If it says it should return null, but returns zero instead, check this result always.
If you give the compiler invalid input, a subtly-broken program should not be the output. The output should be an error pointing you to your mistake.