配列(リスト)の先頭に要素を追加するには (unshift)

配列(リスト)の先頭に要素を追加する方法。

PHP

array_unshift関数でできる。配列自身を変更する破壊的な関数である。

// 先頭に追加
array_unshift($arr, $obj);

array_unshift 関数 | PHP Manual
http://php.net/manual/ja/function.array-unshift.php

複数の要素を配列で指定してまとめて追加するには以下のように array_merge を使う。この関数は引数の配列を変更せずに連結した結果を返すのみであるので、先頭に追加したい場合も最後に追加したい場合も使える。

$a1 = array(1, 2, 3);
$a2 = array(4, 5, 6);
$result = array_merge($a1, $a2);

var_export($a1); echo "\n";
// =>
//    array (
//      0 => 1,
//      1 => 2,
//      2 => 3,
//    )
var_export($a2); echo "\n";
// =>
//    array (
//      0 => 4,
//      1 => 5,
//      2 => 6,
//    )
var_export($result); echo "\n";
// =>
//    array (
//      0 => 1,
//      1 => 2,
//      2 => 3,
//      3 => 4,
//      4 => 5,
//      5 => 6,
//    )

配列のキーが数字以外の場合は、それぞれの配列のキーを変更せずに上書きでマージしていくので、要素が追加されるとは限らない。 -> 連想配列をマージ

array_merge 関数 | PHP Manual
http://php.net/manual/ja/function.array-merge.php

Python

# 先頭に追加
lst.insert(0, obj)

リスト自身を変更する破壊的なメソッドである。

insert は指定のインデックスの前に要素を挿入する。

# indexの前にobjを挿入
arr.insert(index, obj)

リストと違ってタプルはイミュータブルなので、これに相当するメソッドはない。

Ruby / JRuby

# 先頭に追加
arr.unshift(obj)

配列自身を変更する破壊的なメソッドである。

配列自身を返す。

Perl

# 先頭に追加
unshift(@arr, $obj);

配列自身を変更する破壊的な関数である。

2つ目の引数に配列を渡すことができ、その場合はその配列の要素をすべて追加する。

JavaScript

# 先頭に追加
arr.unshift(obj);

関連

  に追加 を取得して削除
先頭 unshift shift
最後 push pop
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク