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

PHPで配列の先頭にある要素を取得・削除する方法についてまとめました。

いくつか手段はあるのですが、内部ポインタなどの位置に依存せず、確実に配列の最初の要素を取得できる方法をご紹介します。

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

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

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

まずは配列の先頭のキーを取得します。
キーさえ取得できれば、そのまま値まで取得が可能です。

キーの取得はkey()関数を使用し、その際に配列を先頭1件目まで切り取るarray_sliceも使用します。

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

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

$first_key = key(array_slice($aryHoge, 0, 1, true));  //最初のキーを取得

echo 'キーは'.$first_key.'<br>'; //キーを表示
echo '値は'.$aryHoge[$first_key].'<br>'; //値を表示
キーは0
値はA

もちろんこれは連想配列であっても可能です。

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

$first_key = key(array_slice($aryHoge, 0, 1, true));  //最初のキーを取得

echo 'キーは'.$first_key.'<br>'; //キーを表示
echo '値は'.$aryHoge[$first_key].'<br>'; //値を表示
キーはA
値はAlfa

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

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

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

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

$first_key = key(array_slice($aryHoge, 0, 1, true));  //最初のキーを取得

unset($aryHoge[$first_key]); //先頭の要素を削除

print_r($aryHoge); //確認
Array
(
    [1] => B
    [2] => C
    [3] => D
    [4] => E
)

もし配列のキーが連番(=連想配列でない)で、先頭の要素を破棄して連番を振り直したい場合はarray_values()を使用します。

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

$first_key = key(array_slice($aryHoge, 0, 1, true));  //最初のキーを取得

unset($aryHoge[$first_key]); //先頭の要素を削除

$aryHoge = array_values($aryHoge);

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

コメント

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