定義と使用方法
- PHPバージョン
- 4+
array_unshift()関数は、配列の先頭に新しい要素を1つ以上追加します。
特徴
- 新しい配列を返すのではなく、元の配列自体を直接変更します。
- このとき、追加された要素の数だけ配列の長さも増加します。
- 追加後の配列の長さを整数で返します。
基本の例
$array = [1, 2, 3];
// 配列の先頭に1つの要素を追加します。
array_unshift($array, 4);
print_r($array);
/*
出力:
Array
(
[0] => 4
[1] => 1
[2] => 2
[3] => 3
)
*/
// 配列の先頭に複数の要素を追加します。
array_unshift($array, 5, 6, 7);
print_r($array);
/*
出力:
Array
(
[0] => 5
[1] => 6
[2] => 7
[3] => 4
[4] => 1
[5] => 2
[6] => 3
)
*/
array_push()関数はこれと似ていますが、配列の末尾に1つ以上の新しい要素を追加します。
構文
array_unshift(array &$array, mixed $value1 [, mixed $value2 [, mixed $... ]]): int
引数
&$array |
要素を追加する対象となる配列(参照変数)です。 |
|---|---|
$value1, $value2, $... |
配列の先頭に追加する要素です。配列に追加する1つ以上の値を指定できます。 |
戻り値
戻り値は、配列に要素が追加された後の合計要素数を示します。この値は整数(例:1、2、3、...)として返されます。
$array = [1, 2, 3];
// 配列の先頭に1つの要素を追加し、戻り値を保存
$total_elements = array_unshift($array, 4);
print_r($array);
/*
出力:
Array
(
[0] => 4
[1] => 1
[2] => 2
[3] => 3
)
*/
echo '配列に追加された要素の合計数: ' . $total_elements; // 出力: 配列に追加された要素の合計数: 4
活用例
次はarray_unshift()関数を使用した例です。
複数の要素を追加する場合は
複数の要素を追加する場合は、array_unshift()関数に追加する要素をカンマ(,)で区切って順番に列挙します。
$fruits = ['apple', 'banana', 'cherry'];
// 配列の先頭に要素を追加
array_unshift($fruits, 'date', 'elderberry');
// 配列の内容を確認
print_r($fruits);
/*
出力:
Array
(
[0] => date
[1] => elderberry
[2] => apple
[3] => banana
[4] => cherry
)
*/
array_unshift()関数を使用した配列要素の逆順ソート
配列の要素を逆順に変更したい場合、array_unshift()関数を使用することができます。
$numbers = [1, 2, 3, 4, 5];
$reversed_numbers = [];
foreach ($numbers as $number) {
array_unshift($reversed_numbers, $number);
}
print_r($reversed_numbers);
/*
出力:
Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)
*/
- まず、
$numbersという配列を定義し、初期値として[1, 2, 3, 4, 5]を持たせます。 $reversed_numbersという空の配列を作成します。この配列は後で逆順に変更された要素を保存するために使用されます。foreach()ループを使用して、$numbers配列の各要素を順番に処理します。ループの各回で現在の要素は$number変数に格納されます。array_unshift($reversed_numbers, $number)関数を使用して、$reversed_numbers配列の先頭に現在の要素である$numberを追加します。この処理を繰り返すことで、要素が逆順に$reversed_numbers配列に追加されます。
この結果、$reversed_numbers配列には$numbers配列の要素が逆順で格納され、逆順に並んだ[5, 4, 3, 2, 1]のような値を持つことになります。
このコードを実行すると、$numbers配列の順序が逆になり、$reversed_numbers配列に格納されることを確認できます。この方法で配列を逆順に並べ替えることができます。
参考です!
PHPには、通常の配列要素を逆順に並べ替えるarray_reverse()関数が組み込まれています。この関数を使用すると、より簡単かつ高速に配列要素を逆順に並べ替えることができます。