定義と使用方法
- PHPバージョン
- 4+
array_pop()関数は、配列の最後の要素を削除(pop、つまり「ポン」と押し出すように)する関数です。
特徴
- 配列の最後の要素を削除します。
- 元の配列自体を直接変更します。
- この動作によって配列の長さが1つ減ります。
- 削除された要素を返します
基本の例
$array = ['orange', 'banana', 'apple'];
// 配列の最後の要素を削除します。
array_pop($array);
print_r($array);
/*
出力:
Array
(
[0] => orange
[1] => banana
)
*/
array_shift()関数はこれと似ていますが、配列の最初の要素を削除します。
構文
array_pop(array &$array): mixed
引数
&$array |
最後の要素を削除する対象の配列(参照変数)です。 |
|---|
戻り値
array_pop()関数は、配列から削除した最後の要素の値を返します。array_pop()関数で削除する最後の要素がなく、配列が空の場合はnullが返されます。
array_pop()関数の返り値
$array = ['orange', 'banana', 'apple'];
// 配列の最後の要素を削除します。
$removedItem = array_pop($array);
print_r($array);
/*
出力:
Array
(
[0] => orange
[1] => banana
)
*/
echo $removedItem; // 出力: 'apple'
// 配列が空の場合
$empty_array = [];
$emptyArray_removed_item = array_pop($empty_array); // 削除する最後の要素がなく、配列が空
var_dump($emptyArray_removed_item); // 出力: NULL
注意点とさまざまな状況
array_pop()関数を使用する際には、重要ないくつかの概念と注意点があります。
- 戻り値
- 元の配列の変更と配列の長さ
- 連想配列でも動作します
- ループと組み合わせて逆順に並べる
unset()で配列の最後の要素を削除する
戻り値
array_pop()関数は削除した要素を返します。返された値を変数に保存することができます。
$fruits = ['apple', 'banana', 'cherry'];
$removedFruit = array_pop($fruits);
echo $removedFruit; // 'cherry' 出力
元の配列の変更と配列の長さ
array_pop()関数は元の配列を変更します。したがって、配列から要素を削除すると配列が変更され、配列の長さが減ることを理解する必要があります。
$fruits = ['apple', 'banana', 'cherry'];
array_pop($fruits);
echo count($fruits); // 2 出力
連想配列でも動作します
array_pop()関数は、順序付き配列だけでなく連想配列(associative array)にも対応しています。この関数は配列の最後の要素を削除して返す役割を持つため、配列の種類に制限はありません。
$assocArray = ['name' => 'John', 'age' => 30];
array_pop($assocArray);
print_r($assocArray);
/*
出力:
Array
(
[name] => John
)
*/
ループと組み合わせて逆順に並べる
array_pop()関数とループを使用して、配列を逆順に並べることができます。
array_pop()関数とループを使用して配列を逆順に並べ替える
$fruits = ['apple', 'banana', 'cherry'];
// 逆順に並べ替えるための空配列を作成
$reversedFruits = [];
// 逆順に出力するためにループを使用
while ($fruit = array_pop($fruits)) {
$reversedFruits[] = $fruit;
}
// 逆順に並べ替えられた配列を出力
print_r($reversedFruits);
/*
出力:
Array
(
[0] => cherry
[1] => banana
[2] => apple
)
*/
配列を逆順に並べ替えるには、PHPにはarray_reverse()関数が組み込まれており、この関数を使用すると配列を簡単に逆順に並べ替えることができます。array_reverse()関数を使用する方がはるかに便利で直感的です。
$fruits = ['apple', 'banana', 'cherry'];
// 配列を逆順に並べ替え
$reversedFruits = array_reverse($fruits);
// 逆順に並べ替えられた配列を出力
print_r($reversedFruits);
/*
出力:
Array
(
[0] => cherry
[1] => banana
[2] => apple
)
*/
unset()で配列の最後の要素を削除する
array_pop()関数の代わりにunset()を使用して、配列から最後の要素を削除することができます。unset()は変数の設定を解除(削除)するために使用されます。
array_pop()関数の代わりにunset()関数を使用して配列から最後の要素を削除
$fruits = ['apple', 'banana', 'cherry'];
// 配列の最後の要素を削除
unset($fruits[count($fruits) - 1]);
// 配列を出力
print_r($fruits);
/*
出力:
Array
(
[0] => apple
[1] => banana
)
*/
この方法は配列の最後の要素を削除する簡単な方法です。しかし、配列の長さを事前に取得する必要があるという欠点があります。この方法は配列の最後の要素を削除する簡単な方法です。しかし、配列の長さを事前に取得する必要があるという欠点があります。
unset()で配列の特定の要素を削除する場合は注意が必要で、あまり推奨されません。配列の先頭や末尾ではなく中間の要素を削除すると、削除されたインデックスは空のままとなり、再配置されません。