今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 簡単なPHPスクリプトを動かしてみよう
  3. ファイルから1行ずつ読み込む - fgets()
  4. ユニークなファイル名の一時ファイルを作成 - tempnam()
  5. ヒアドキュメント

配列の先頭に要素を追加・削除 - array_unshift()、array_shift()

当ページのリンクには広告が含まれています。

プログラミング言語PHPで、指定した配列の先頭に要素を追加する関数 array_unshift()、配列の先頭から要素を削除する関数 array_shift()を紹介します。

array_unshift関数

int array_unshift ( array &$array , mixed $var [, mixed $... ] )
指定した配列の先頭に要素を追加します。
引数
&$array
先頭に要素を追加する配列を指定します。
参照渡し(&が付いてる)なので、引数として渡した変数自体が変化します。
要素追加後、配列の文字列キーは維持されますが、数値キーは振り直されます。
$var[, ...]
追加する要素の値を指定します。
返り値
要素追加後の配列要素数が返されます。

サンプルコード

指定した配列の先頭に要素を追加するサンプルコードです。

array_unshift( 配列, 追加する値 [, ...] )
<?php
/* 配列を定義 */
$a = array('Squid', 'a'=>'SOCKS', 'Proxy');
print_r($a);

/* 配列の先頭に要素を追加 */
var_dump( array_unshift($a, 'SSH') );
print_r($a);
?>

実行結果です。
要素追加後の配列要素数が返され、配列の先頭に要素が追加されます。
要素追加後、配列の文字列キーは維持されますが、数値キーは振り直されます。

Array
(
    [0] => Squid
    [a] => SOCKS
    [1] => Proxy
)
int(4)
Array
(
    [0] => SSH
    [1] => Squid
    [a] => SOCKS
    [2] => Proxy
)

array_shift関数

mixed array_shift ( array &$array )
指定した配列の先頭から要素を取り除きます。
引数
&$array
先頭から要素を取り除く配列を指定します。
参照渡し(&が付いてる)なので、引数として渡した変数自体が変化します。
要素削除後、配列の文字列キーは維持されますが、数値キーは振り直されます。
返り値
配列の先頭から取り除かれた要素が返されます。

サンプルコード

指定した配列の先頭から要素を取り除くサンプルコードです。

array_shift( 配列 )
<?php
/* 配列を定義 */
$b = array('Squid', 'a'=>'SOCKS', 'Proxy');
print_r($b);

/* 配列の先頭に要素を追加 */
var_dump( array_shift($b) );
print_r($b);
?>

実行結果です。
配列の末尾から取り除かれた要素の値が返され、配列の末尾から要素が取り除かれます。
要素削除後、配列の文字列キーは維持されますが、数値キーは振り直されます。

Array
(
    [0] => Squid
    [a] => SOCKS
    [1] => Proxy
)
string(5) "Squid"
Array
(
    [a] => SOCKS
    [0] => Proxy
)

配列 の人気記事

  1. 配列の値に数値インデックスを付ける - array_values()
  2. 配列のキーを大文字 / 小文字に変更 - array_change_key_case()
  3. 配列の要素を逆順に - array_reverse()
  4. 配列の要素をシャッフル - shuffle()

関連記事(一部広告含む)