phpで配列の先頭に追加(キー保持)する方法
phpで配列の先頭に要素を追加する方法は、いくつかあります。
その1。関数「array_unshift」
機能: 一つ以上の要素を配列の最初に加える
array_unshift ( array &$array [, mixed $… ] ) : int |
使用例
$itemA = array('1'=>'犬', '3'=>'猿', '4'=>'キジ'); var_dump($itemA); $itemB = array(''=>'選んでください','0'=>'桃太郎'); array_unshift($itemB,$itemA); |
結果
array (size=3)
1 => string '犬' (length=3)
3 => string '猿' (length=3)
4 => string 'キジ' (length=6)
注意!
ただしこの関数、 配列の数値添字はすべて新たにゼロから振りなおされます!文字列のキーはもちろんそのままですが。
これって普通の場合はいいんですけど、その配列が欠番の数字を含む数値添字の配列だったりすると、値がガタガタになってしまいます。
広告
その2 関数「array_merge」
機能: ひとつまたは複数の配列をマージする
array_merge ( array $array1 [, array $... ] ) : array |
使用例
$itemA = array('1'=>'犬', '3'=>'猿', '4'=>'キジ'); var_dump($itemA); |
結果
array (size=3)
1 => string '犬' (length=3)
3 => string '猿' (length=3)
4 => string 'キジ' (length=6)
あらかじめ配列を別に用意しておいて、2つの引数でまとめます。これで、先に指定する配列が先頭に来ます。
ただしこれも、array\unshiftと同じく、数値添字が振り直されてしまうので、困る場合は困ります。
その3 + でくっつける
表題の件「phpで配列の先頭に追加(キー保持)する方法」を「数値添字キーを保持」という条件だと、これが解答になります。
2と同様、あらかじめ配列を作っておいて、+ で演算処理します。
$items = $itemA + $itemB;
結果