PHP – 配列の先頭・末尾要素の追加・抜き出し(破壊的)

概要

以下の関数は、配列の先頭・末尾に要素を追加し、要素を抜き出す。これらの関数は元の配列を変更する。

  • unshift()は配列の先頭に要素を追加し、要素数を返す
  • shift()は配列の先頭から要素を1つ抜き出す
  • push()は配列の末尾に要素を追加し、要素数を返す
  • pop()は配列の末尾から要素を1つ抜き出す

ただし連想配列については、これらの関数がうまく機能しない、臨んだ値を返さないということがあり、別の処理が必要。

非破壊的に先頭・末尾の要素を取り出す方法はこちら

配列

unshift()/shift()~先頭要素の追加・抜き出し

unshift()は配列の先頭に要素を追加し、追加後の配列の要素数を返す。追加後の配列は変更される。追加する要素は複数指定加可能。

unshift($array, $value[, $value ...]) : $size

shift()は配列の先頭から要素を1つ抜き出して返す。抜き出した後の配列は変更される。

shift($array) : $value

push()/pop()~末尾要素の追加・抜き出し

push()は配列の先頭に要素を追加し、追加後の配列の要素数を返す。追加後の配列は変更される。追加する要素は複数指定加可能。

push($array, $value[, $value ...]) : $size

pop()は配列の先頭から要素を1つ抜き出して返す。抜き出した後の配列は変更される。

pops($array) : $value

連想配列

unshift()/push()はよくない

連想配列への追加は、要素としてではなく配列として追加されてしまう。

shift()/pop()は値だけ返る

キーの取得が必要ない場合は、これらを使える。

結合演算子’+’は使える

配列の結合演算子を使えば、先頭・末尾への追加が素直にできる。

array_slice()とunset()による書き方

連想配列のキー・値のセットで取り出したい場合に、array_slice()で先頭や末尾要素を取り出し、そのキーを使ってunset()する方法。reset()end()でもよい

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です