PHP array_merge()函数无法保存数字键

时间:2014-07-28 05:41:59

标签: php

带有数字键的输入数组中的值将使用从结果数组中的零开始的递增键重新编号。 以上是PHP手册说的,我想保留原来的数字键,怎么做呢?

$arr_from_color_group = Model_Edit_Colorgroup::find('all', array('select' => array('display_name')));$temp = array();
     foreach ($arr_from_color_group as $item){
        $oldtemp = $temp;
         $temp = array($item->id => $item->display_name);
         $temp = array_merge($oldtemp,$temp);
     }
    $form->add(
            'item_color_group_id', 'a forgien key',
            array('options' => $temp, 'type' => 'select', 'value' => 'true')
    )->add_rule('required');

1 个答案:

答案 0 :(得分:3)

您可以使用array_merge()运算符合并数组,而不是+,以保留原始密钥:

$new_arr = $arr1 + $arr2;

See demo