PHPバージョン
4+
$array = ['orange', 'banana', 'apple'];

// 配列の先頭から最初の要素を削除します。
array_shift($array);
print_r($array);
/*
出力:
    Array
    (
        [0] => banana
        [1] => apple
    )
*/
array_shift(array &$array): mixed
$array = ['orange', 'banana', 'apple'];

// 配列の先頭(最初の値)から1つの要素を削除します。
$removedItem = array_shift($array);
print_r($array);
/*
出力:
    Array
    (
        [0] => banana
        [1] => apple
    )
*/

echo $removedItem; // 出力: 'orange'

// 配列が空の場合
$empty_array = [];
$empty_array_removed_item = array_shift($empty_array); // 削除する最初の値がなく、配列は空

var_dump($empty_array_removed_item); // 出力: NULL
$fruits = ['apple', 'banana', 'cherry'];
$removedFruit = array_shift($fruits);
echo $removedFruit; // 出力: 'apple' 
$fruits = ['apple', 'banana', 'cherry'];
array_shift($fruits);
echo count($fruits); // 出力: 2
$assocArray = ['name' => 'John', 'age' => 30];
array_shift($assocArray);
print_r($assocArray);
/*
出力:
    Array
    (
        [age] => 30
    )
*/
// 初期リクエストキューを作成
$requestQueue = [];

// リクエストを追加
$requestQueue[] = 'リクエスト 1';
$requestQueue[] = 'リクエスト 2';
$requestQueue[] = 'リクエスト 3';

// リクエストを処理
while ($request = array_shift($requestQueue)) {
    // リクエストを処理
    echo "処理中: $request";

    // 仮の処理時間を生成
    $processingTime = rand(1, 3);
    sleep($processingTime); // 仮の処理時間待機

    echo "処理完了: $request";
}

// すべてのリクエストが処理されたときに実行されるコード
echo "すべてのリクエスト処理完了";
$fruits = ['apple', 'banana', 'cherry'];

// 配列の最初の要素を削除
unset($fruits[0]);

// 配列を出力
print_r($fruits);
/*
出力:
    Array
    (
        [1] => banana
        [2] => cherry
    )
*/