3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Helpers { /** * Like array_merge() but case-insensitive keys comparison. * @param array * @param array * @return array */ public static function iMerge($one, $two) { $keys = array_combine(array_keys(array_change_key_case($one, CASE_LOWER)), array_keys($one)); foreach ($two as $k => $v) { if (is_int($k)) { $one[] = $v; } elseif (array_key_exists($lower = strtolower($k), $keys)) { $one[$keys[$lower]] = $v; } else { $one[$k] = $v; } } return $one; } } $one = array(0, 'a' => 'aaa', 'b' => 'bbb', 1); $two = array(2, 'A' => 'AAA', 'C' => 'CCC', 3); print_r(Helpers::iMerge($one, $two));
Output for 5.0.0 - 5.6.28, hhvm-3.10.0 - 3.13.2, 7.0.0 - 7.1.0
Array ( [0] => 0 [a] => AAA [b] => bbb [1] => 1 [2] => 2 [C] => CCC [3] => 3 )
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/omK60 on line 11
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/omK60 on line 11
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/omK60 on line 11
Process exited with code 255.