2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

配列操作

Posted at

shift,pop,unshift,pushの名前がこんがらがるので自分なりの覚え方など。
配列のまとめが増えすぎたのでそのうち全部いい感じにまとめたい(願望

array_shift

array_shift ( array &$array )
配列の先頭を切り取って返す。
返り値は配列の先頭にいた値。元の配列からはその値はなくなる。
添え字が数値だった場合は添字も振りなおされる。
元の配列から値をシフトする。

$arr = array("banana","orange","apple","peach","grape");
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => grape
)
*/

$fruit = array_shift($arr);
print_r($arr);
/*
Array
(
    [0] => orange
    [1] => apple
    [2] => peach
    [3] => grape
)
*/
print_r($fruit)
// banana

array_pop

array_pop ( array &$array )
array_shiftの最後バージョン。最後を切り取って返す。
数字なら添字も詰まるので、array_popした後要素を追加した場合はその位置に入る。ポップアップとかのイメージ。なんpullとかpickにしてくれなかったのか…。

$arr = array("banana","orange","apple","peach","grape");
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => grape
)
*/

$fruit = array_pop($arr);
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
)
*/
print_r($fruit);
// grape

$arr[] = "mango";
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => mango
)
*/

array_unshift

array_unshift ( array &$array ,"追加する値"[,"追加する値"] )
1つ以上の要素を配列の先頭に追加。追加する順は引数として与えた順序のまま。添字が数値なら0から振りなおされる。
shift(取り出し)の逆だからunshiftなんだろうけど…いまいちピンとこない。

$arr = array("banana","orange","apple","peach","grape");
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => grape
)
*/

array_unshift($arr,"mango","melon");
print_r($arr);
/*
Array
(
    [0] => mango
    [1] => melon
    [2] => banana
    [3] => orange
    [4] => apple
    [5] => peach
    [6] => grape
)
*/

array_push

array_unshiftの後ろバージョン。最後に値を追加。
$arr[]と動きは同じ。1個だけなら$arr[]の方が早い。
配列の後ろに値を押し付ける、なイメージ。

$arr = array("banana","orange","apple","peach","grape");
print_r($arr);
/*
Array
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => grape
)
*/

array_push($arr,"mango","melon");
print_r($arr);
/*
(
    [0] => banana
    [1] => orange
    [2] => apple
    [3] => peach
    [4] => grape
    [5] => mango
    [6] => melon
)
*/


2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?