关联数组推送作为第一个索引

时间:2018-04-29 14:33:25

标签: php arrays

我有这个数组

array (
  0 => 'val_1',
  1 => 'val_2',
  2 => 'val_3',
  3 => 'val_4',
  ...
);

我想添加'str'=>'val_n'作为数组的第一个索引,我已尝试过array_unshift,但它看起来并不适合这种情况。

输出数组应该像:

   array(
   'str'=>'val_n',
    0=>'val_1',
    1=>'val_2',
    2=>'val_3',
    ...
    );

我该怎么办?

2 个答案:

答案 0 :(得分:1)

一种选择是使用array_merge

$arr = array (
  0 => 'val_1',
  1 => 'val_2',
  2 => 'val_3',
  3 => 'val_4',
);

$toAdd = array('str' => 'val_n' );

$arr = array_merge( $toAdd , $arr);

echo "<pre>";
print_r( $arr );
echo "</pre>";

这将导致:

Array
(
    [str] => val_n
    [0] => val_1
    [1] => val_2
    [2] => val_3
    [3] => val_4
)

Doc:array_merge

答案 1 :(得分:1)

您可以使用+ operator合并两个数组:

$array = array (
  'val_1',
  'val_2',
  'val_3',
  'val_4',
);

$array = ['str' => 'val_n'] + $array ;

print_r($array);

输出:

Array
(
    [str] => val_n
    [0] => val_1
    [1] => val_2
    [2] => val_3
    [3] => val_4
)