Monatsarchiv für Mai 2015

PHP ist krank…

Mittwoch, den 6. Mai 2015

Über einen Blogbeitrag von Fefe bin ich auf dieses “interessante” Verhalten in PHP aufmerksam geworden. Was schätzt ihr, gibt folgendes Programm aus?

echo (md5("240610708") == md5("QNKCDZO")) ? "GLEICH" : "UNTERSCHIEDLICH";

Na? :)

Die Sache wird bei HackerNews etwas intensiver diskutiert. Das Problem besteht im Grunde darin, dass PHP das “0e” am Anfang als Präfix interpretiert und die Daten daher als Float-Value verwendet.

Am besten gefällt mir aber der folgende Lösungvorschlag aus der HackerNews-Diskussion:

perhaps ==== operator must reserved

php_real_equivalence_4()

But it must invoke with additional NULL-parameter to achieve real effect and analyse return value for TRUE, FALSE, NULL:
php_real_equivalence_4($x, $y, null);

Except they had to call it php_real_equivalnce_4() because php_real_equivalence_4() was taken.