'array_unshift' による追加
CoddyのPHPジャーニー「論理とフロー」セクションの一部。レッスン 12/68。
array_push()は配列の末尾に要素を追加しますが、array_unshift()関数はその逆を行います。配列の先頭に1つ以上の要素を追加します。この関数は元の配列を直接変更し、配列の新しい長さを返します。
基本的な構文は次のとおりです:
<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks); // Outputs: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>新しい要素がインデックス 0 になり、既存のすべての要素がより大きいインデックスへ移動していることに注目してください。この再インデックスは自動的に行われます。array_unshift() は適切な順序を維持するために、すべての数値キーを更新します。
複数の要素を一度に追加することもできます:
<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities); // 出力: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>この関数は、list 内の items に優先順位を付ける必要がある場合に特に便利です。たとえば、urgent tasks を to-do list の先頭に追加したり、high-priority items をキューの先頭に挿入したりできます。
チャレンジ
簡単2つの入力を受け取ります。JSON形式の通知の初期arrayと、addする新しい緊急notificationです。両方の入力を読み取り、JSON文字列をarrayに変換し、array_unshift()を使用して緊急notificationをarrayのbeginningにaddし、print_r()を使用してfinalのarrayを出力します。
入力形式: 2行です。1行目にはJSON array(例: ["meeting reminder","email received"])が含まれ、2行目にはaddする緊急notificationが含まれます
期待される出力: beginningに緊急notificationをaddした後のarrayを、print_r()を使用して表示したもの
自分で試してみよう
<?php
// Read the JSON array of notifications
$jsonInput = fgets(STDIN);
$notifications = (array)json_decode($jsonInput, true);
// Read the urgent notification to add
$urgentNotification = trim(fgets(STDIN));
// TODO: Write your code below to add the urgent notification to the beginning of the array
// 最終的な配列を出力
print_r($notifications);
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
論理とフローのすべてのレッスン
自分で練習してみよう: PHPオンラインコンパイラ