php 配列内の先頭の値を削除する

  • 作成日 2021.09.12
  • 更新日 2022.05.22
  • php
php 配列内の先頭の値を削除する

phpで、array_shiftを使用して、配列内の先頭の値を削除するサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

array_shift使い方

array_shiftを使用すれば、配列内の先頭の値を削除することが可能です。

array_shift(配列);

以下は、配列内の先頭の値を削除するサンプルコードとなります。

<?php

$arr = [1, 2, 3, 4, 5];

$result = array_shift($arr);

echo $result . PHP_EOL; // 1

print_r($arr);

実行結果

Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
)

array_sliceを使用しても同じ結果を得ることが可能です。

<?php

$arr = [1, 2, 3, 4, 5];

$result = array_slice($arr,1);

print_r($result);

実行結果

Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
)

パフォーマンスは、array_shiftの方が良さそうです。

【参考】 1000万回 同じコードを実行した結果

測定結果 : array_shift
process time: 2.38794 ミリ秒

測定結果 : array_slice
process time: 3.02613 ミリ秒

また、逆に一番後方を削除する場合は、array_popを使用します。

<?php

$arr = [1, 2, 3, 4, 5];

$result = array_pop($arr);

echo $result . PHP_EOL; // 5

print_r($arr);

実行結果

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)