PHPの配列で最後の要素からキー・値を取得・削除する方法

PHPで配列の末尾(最後)にある要素を取得・削除する方法についてまとめました。

先頭(最初)の要素を操作したい場合はこちらの記事をご確認ください。

参考 PHPの配列で最初の要素からキー・値を取得・削除する方法

配列の最後の要素(キー・値)を取得する

まずは配列から末尾のキーを取得します。
キーに同一のものはないので、そのキーを使用して値の取得に辿ることが出来ます。

キーの取得はkey()関数を使用し、その際に配列を切り取るarray_sliceも使用します。
array_sliceは負数を使用することで、配列の末尾の値も取得することが可能です。

参考 【PHP】array_sliceの使い方。配列を範囲指定して切り取る関数

サンプルコード
$aryHoge = ['A', 'B', 'C', 'D', 'E'];

$last_key = key(array_slice($aryHoge, -1, 1, true));  //最後のキーを取得

echo 'キーは'.$last_key.'<br>'; //キーを表示
echo '値は'.$aryHoge[$last_key].'<br>'; //値を表示
キーは4
値はE

連想配列でも同様の処理が可能です。

サンプルコード
$aryHoge = [
    'A' => 'Alfa',
    'B' => 'Bravo',
    'C' => 'Charlie',
    'D' => 'Delta',
    'E' => 'Echo'
];

$last_key = key(array_slice($aryHoge, -1, 1, true));  //最後のキーを取得

echo 'キーは'.$last_key.'<br>'; //キーを表示
echo '値は'.$aryHoge[$last_key].'<br>'; //値を表示
キーはE
値はEcho

配列の最後の要素(キー・値)を削除する

配列の最後の要素を削除したい場合は、キーを取得し、そのキーを取得して要素を破棄するunset()を使用します。

参考 PHPの配列で特定のキー・値を削除する方法

サンプルコード
$aryHoge = ['A', 'B', 'C', 'D', 'E'];

$last_key = key(array_slice($aryHoge, -1, 1, true));  //最後のキーを取得

unset($aryHoge[$last_key]); //末尾の要素を削除

print_r($aryHoge); //確認
Array
(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
)
以上、PHPの配列で最後の要素からキー・値を取得・削除する方法、でした。

コメント

タイトルとURLをコピーしました