3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Helpers { /** * Like array_merge() but case-insensitive keys comparison. * @param array * @param array * @return array */ public static function iMerge(array $one, array $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); var_dump(Helpers::iMerge($one, $two));
Output for git.master, git.master_jit, rfc.property-hooks
array(7) { [0]=> int(0) ["a"]=> string(3) "AAA" ["b"]=> string(3) "bbb" [1]=> int(1) [2]=> int(2) ["C"]=> string(3) "CCC" [3]=> int(3) }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
41.64 ms | 401 KiB | 8 Q