3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function convert_case($name) { return implode( '_', array_map( 'strtolower', preg_split('/(([A-Z]+)[^A-Z]*)/', $name, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) ) ); } $samples = array( 'FooBar', 'FooBAR', 'FOObar', ); echo json_encode(array_map("convert_case", $samples), JSON_PRETTY_PRINT);
based on GOA46
Output for 5.4.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
[ "foo_f_bar_b", "foo_f_bar_bar", "foobar_foo" ]
Output for 5.3.0 - 5.3.29
Notice: Use of undefined constant JSON_PRETTY_PRINT - assumed 'JSON_PRETTY_PRINT' in /in/p6A2T on line 21 Warning: json_encode() expects parameter 2 to be long, string given in /in/p6A2T on line 21
Output for 5.2.0 - 5.2.17
Notice: Use of undefined constant JSON_PRETTY_PRINT - assumed 'JSON_PRETTY_PRINT' in /in/p6A2T on line 21 Warning: json_encode() expects exactly 1 parameter, 2 given in /in/p6A2T on line 21
Output for 5.0.0 - 5.1.6
Fatal error: Call to undefined function json_encode() in /in/p6A2T on line 21
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: json_encode() in /in/p6A2T on line 21
Process exited with code 255.
Output for 4.3.2 - 4.4.4
Fatal error: Call to undefined function: json_encode() in /in/p6A2T on line 21
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: json_encode() in /in/p6A2T on line 21