Zetruger
ivan.chistyakov.name
array_merge не передает numeric ключи
PHP Version 4.4.4
очень странное поведение, ключи числа (пусть даже в виде строки, как '300' и '333' не передаются), такое ощущение что там стоит проверка
if (is_numeric($k)) {
$new_arr[] = $v;
} else {
$new_arr[$k] = $v;
}
если это не баг, то подскажите какими соображениями пользовались разработчики придумав именно такое поведение функции array_merge
в 5ой версии такой же дефект?
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
)
if (is_numeric($k)) {
$new_arr[] = $v;
} else {
$new_arr[$k] = $v;
}
если это не баг, то подскажите какими соображениями пользовались разработчики придумав именно такое поведение функции array_merge
в 5ой версии такой же дефект?