今日の人気記事

  1. PHPサンプルコード集
  2. CakePHP のデータベースの作成と接続設定
  3. PHP + Apache 環境の構築
  4. PHP関数リファレンス
  5. スクリプトを一時停止 - sleep()、usleep()

配列の先頭に要素を追加・削除 - 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
)

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