3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php echo "Numeric strings will be converted into an integer:\n"; var_dump(array( 'n-n' => -1, 1 => 1, '1' => '1', '-1' => '-1', '1.1' => '1.1', 's1' => 's1', )); echo "Floating point numbers will be converted into an integer:\n"; var_dump(array( -1 => -1, 0 => 0, 1 => 1, -1.9 => -1.9, 0.9 => 0.9, 1.9 => 1.9 )); echo "Booleans will be converted into an integer:\n"; var_dump(array( 0 => 0, 1 => 1, true => true, false => false, )); echo "NULL will be converted into an empty string:\n"; var_dump(array( '' => '', null => null, ));
Output for 4.3.3 - 5.6.28, hhvm-3.10.0 - 3.13.2, 7.0.0 - 7.1.0
Numeric strings will be converted into an integer: array(5) { ["n-n"]=> int(-1) [1]=> string(1) "1" [-1]=> string(2) "-1" ["1.1"]=> string(3) "1.1" ["s1"]=> string(2) "s1" } Floating point numbers will be converted into an integer: array(3) { [-1]=> float(-1.9) [0]=> float(0.9) [1]=> float(1.9) } Booleans will be converted into an integer: array(2) { [0]=> bool(false) [1]=> bool(true) } NULL will be converted into an empty string: array(1) { [""]=> NULL }
Output for 4.3.2
Numeric strings will be converted into an integer: array(5) { ["n-n"]=> int(-1) [1]=> string(1) "1" ["-1"]=> string(2) "-1" ["1.1"]=> string(3) "1.1" ["s1"]=> string(2) "s1" } Floating point numbers will be converted into an integer: array(3) { [-1]=> float(-1.9) [0]=> float(0.9) [1]=> float(1.9) } Booleans will be converted into an integer: array(2) { [0]=> bool(false) [1]=> bool(true) } NULL will be converted into an empty string: array(1) { [""]=> NULL }
Output for 4.3.0 - 4.3.1
Numeric strings will be converted into an integer: array(5) { ["n-n"]=> int(-1) [1]=> string(1) "1" ["-1"]=> string(2) "-1" ["1.1"]=> string(3) "1.1" ["s1"]=> string(2) "s1" } Floating point numbers will be converted into an integer: array(3) { [-1]=> float(-1.9) [0]=> float(0.9) [1]=> float(1.9) } Booleans will be converted into an integer: array(2) { [0]=> int(0) [1]=> int(1) } NULL will be converted into an empty string: array(1) { [""]=> NULL }