array_merge не передает numeric ключи

Zetruger

ivan.chistyakov.name
array_merge не передает numeric ключи

PHP Version 4.4.4

PHP:
<pre><?php
$a1 = array(1, 2, '300' => 3, 'qwe' => 4);
$a2 = array(11, 22, '333' => 33, 'asd' => 44);
print_r(array_merge($a1, $a2));
?></pre>
Код:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [qwe] => 4
    [3] => 11
    [4] => 22
    [5] => 33
    [asd] => 44
)
очень странное поведение, ключи числа (пусть даже в виде строки, как '300' и '333' не передаются), такое ощущение что там стоит проверка

if (is_numeric($k)) {
$new_arr[] = $v;
} else {
$new_arr[$k] = $v;
}

если это не баг, то подскажите какими соображениями пользовались разработчики придумав именно такое поведение функции array_merge

в 5ой версии такой же дефект?
 
Сверху