言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

PHP辞典

  1. トップページ
  2. PHP辞典
  3. array_push() / array_pop() / array_shift() / array_unshift()

array_push() / array_pop() / array_shift() / array_unshift()

対応: PHP 4(2000)

配列の末尾や先頭に要素を追加・削除する関数です。スタックやキューのようなデータ操作を行う際に使用します。

構文

// 配列の末尾に要素を追加します。
array_push(配列, 値1, 値2, ...);

// 配列の末尾から要素を取り出します。
array_pop(配列);

// 配列の先頭から要素を取り出します。
array_shift(配列);

// 配列の先頭に要素を追加します。
array_unshift(配列, 値1, 値2, ...);

関数一覧

関数概要
array_push($array, $value, ...)配列の末尾に1つ以上の要素を追加します。追加後の配列の要素数を返します。
array_pop($array)配列の末尾から要素を1つ取り出して返します。配列は短くなります。
array_shift($array)配列の先頭から要素を1つ取り出して返します。残りの要素のインデックスは振り直されます。
array_unshift($array, $value, ...)配列の先頭に1つ以上の要素を追加します。追加後の配列の要素数を返します。

サンプルコード

sample_array_push.php
<?php
$members = ['岡部倫太郎', '牧瀬紅莉栖', '椎名まゆり'];

// 末尾に要素を追加します。
array_push($members, '橋田至', '阿万音鈴羽');
print_r($members); // 『岡部倫太郎, 牧瀬紅莉栖, 椎名まゆり, 橋田至, 阿万音鈴羽』の配列になります。

// 末尾から要素を取り出します。
$last = array_pop($members);
echo $last; // 『阿万音鈴羽』と出力されます。

// 先頭から要素を取り出します。
$first = array_shift($members);
echo $first; // 『岡部倫太郎』と出力されます。

// 先頭に要素を追加します。
array_unshift($members, 'フェイリス', '桐生萌郁');
print_r($members); // 『フェイリス, 桐生萌郁, 牧瀬紅莉栖, 椎名まゆり, 橋田至』の配列になります。

// $members[] でも末尾に追加できます。
$members[] = '漆原るか';
print_r($members); // 末尾に『漆原るか』が追加されます。
php array_push.php
Array
(
    [0] => 岡部倫太郎
    [1] => 牧瀬紅莉栖
    [2] => 椎名まゆり
    [3] => 橋田至
    [4] => 阿万音鈴羽
)
阿万音鈴羽岡部倫太郎Array
(
    [0] => フェイリス
    [1] => 桐生萌郁
    [2] => 牧瀬紅莉栖
    [3] => 椎名まゆり
    [4] => 橋田至
)
Array
(
    [0] => フェイリス
    [1] => 桐生萌郁
    [2] => 牧瀬紅莉栖
    [3] => 椎名まゆり
    [4] => 橋田至
    [5] => 漆原るか
)

概要

『array_push()』と『array_pop()』は配列の末尾を操作し、『array_unshift()』と『array_shift()』は先頭を操作します。これらを組み合わせることで、スタックやキューの動作を実現できます。

要素を1つだけ末尾に追加する場合は、『$array[] = $value;』の記法のほうがシンプルで高速です。『array_push()』は複数の値を一度に追加したい場合に使用してください。

『array_shift()』を実行すると、残りの数値キーはゼロから振り直されます。文字列キーはそのまま維持されるため、連想配列に対して使用する場合はキーの変化に注意してください。配列の任意の位置を操作したい場合は『array_splice()』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。