3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $f = NAN; var_dump(++$f); // float NAN var_dump((float) NAN); // float NAN var_dump((int) NAN); // int -2147483648 -> what? var_dump((bool) NAN); // bool true -> makes sense $f = INF; var_dump(++$f); // float INF var_dump((float) INF); // float INF var_dump((int) INF); // int 0 -> what? var_dump((bool) INF); // bool true -> so why int 0? var_dump((int) (bool) INF); // int 1
Output for 7.0.0 - 7.1.0
float(NAN) float(NAN) int(0) bool(true) float(INF) float(INF) int(0) bool(true) int(1)
Output for 4.3.6 - 5.0.1, 5.0.3 - 5.0.5, 5.1.1 - 5.4.45, hhvm-3.10.0 - 3.12.0
float(NAN) float(NAN) int(-9223372036854775808) bool(true) float(INF) float(INF) int(0) bool(true) int(1)
Output for 5.5.0 - 5.6.28
float(NAN) float(NAN) int(-9223372036854775808) bool(true) float(INF) float(INF) int(-9223372036854775808) bool(true) int(1)
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/0C69T on line 14
Process exited with code 255.
Output for 5.0.2
float(NAN) float(NAN) int(-9223372036854775808) bool(true) float(INF) float(INF) int(9223372036854775807) bool(true) int(1)
Output for 4.3.4 - 4.3.5
Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 3 string(3) "NAO" Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 5 float(NAN) Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 6 int(0) Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 7 bool(true) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 9 string(3) "ING" Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 11 float(INF) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 12 int(0) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 13 bool(true) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 14 int(1)
Output for 4.3.3
Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 3 string(3) "NAO" Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 5
Process exited with code 137.
Output for 4.3.0 - 4.3.2
Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 3 string(3) "NAO" Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 5 float(0.E+79) Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 6 int(0) Notice: Use of undefined constant NAN - assumed 'NAN' in /in/0C69T on line 7 bool(true) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 9 string(3) "ING" Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 11 float(0.E+79) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 12 int(0) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 13 bool(true) Notice: Use of undefined constant INF - assumed 'INF' in /in/0C69T on line 14 int(1)