array_unshift

(PHP 4, PHP 5, PHP 7, PHP 8)

array_unshift一つ以上の要素を配列の最初に加える

説明

array_unshift(array&$array, mixed...$values): int

array_unshift() は、array の先頭に指定された要素を加えます。リストの要素は全体として加えられるため、 加えられた要素の順番は変わらないことに注意してください。 配列の数値添字はすべて新たにゼロから振りなおされます。 リテラルのキーについては変更されません。

注意:

この関数をコールすると、配列の内部ポインタは最初の要素にリセットされます。

パラメータ

array

入力の配列。

values

加える値。

戻り値

処理後の array の要素の数を返します。

変更履歴

バージョン説明
7.3.0 この関数は、1 つのパラメータでのみ呼び出すことができるようになりました。 前は、少なくとも 2 つのパラメータが必要でした。

例1 array_unshift() の例

<?php
$queue
= [
"orange",
"banana"
];

array_unshift($queue, "apple", "raspberry");
var_dump($queue);
?>

上の例の出力は以下となります。

array(4) { [0] => string(5) "apple" [1] => string(9) "raspberry" [2] => string(6) "orange" [3] => string(6) "banana" }

例2 連想配列と一緒に使う例

連想配列を別の連想配列の前に加える場合、 追加される配列は、もともとある配列の整数のインデックスに追加されます。

<?php
$foods
= [
'apples' => [
'McIntosh' => 'red',
'Granny Smith' => 'green',
],
'oranges' => [
'Navel' => 'orange',
'Valencia' => 'orange',
],
];
$vegetables = [
'lettuce' => [
'Iceberg' => 'green',
'Butterhead' => 'green',
],
'carrots' => [
'Deep Purple Hybrid' => 'purple',
'Imperator' => 'orange',
],
'cucumber' => [
'Kirby' => 'green',
'Gherkin' => 'green',
],
];

array_unshift($foods, $vegetables);
var_dump($foods);

上の例の出力は以下となります。

array(3) { [0] => array(3) { 'lettuce' => array(2) { 'Iceberg' => string(5) "green" 'Butterhead' => string(5) "green" } 'carrots' => array(2) { 'Deep Purple Hybrid' => string(6) "purple" 'Imperator' => string(6) "orange" } 'cucumber' => array(2) { 'Kirby' => string(5) "green" 'Gherkin' => string(5) "green" } } 'apples' => array(2) { 'McIntosh' => string(3) "red" 'Granny Smith' => string(5) "green" } 'oranges' => array(2) { 'Navel' => string(6) "orange" 'Valencia' => string(6) "orange" } }

参考

  • array_merge() - ひとつまたは複数の配列をマージする
  • array_shift() - 配列の先頭から要素を一つ取り出す
  • array_push() - 一つ以上の要素を配列の最後に追加する
  • array_pop() - 配列の末尾から要素を取り除く
To Top