Menu
Coddy logo textTech

'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);  // 出力: 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 )
?>

この関数は、ToDoリストの先頭に緊急のタスクを追加したり、キューの先頭に優先度の高い項目を挿入したりするなど、リスト内の項目の優先順位を付ける必要がある場合に特に便利です。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

challenge icon

チャレンジ

簡単

2つの入力を受け取ります。JSON形式の通知の初期配列と、追加する新しい緊急通知です。両方の入力を読み込み、JSON文字列を配列に変換し、array_unshift() を使用して緊急通知を配列の最初に追加し、print_r() を使用して最終的な配列を出力してください。

入力形式: 2行 - 1行目にはJSON配列(例: ["meeting reminder","email received"])、2行目には追加する緊急通知が含まれます。

期待される出力: 緊急通知を最初に追加した後の配列を print_r() を使用して表示したもの

チートシート

array_unshift() 関数は、配列の先頭に要素を追加し、元の配列を修正して新しい長さを返します:

<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks);  // 出力: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>

新しい要素はインデックス 0 になり、既存の要素は自動的に高いインデックスにシフトされます。

一度に複数の要素を追加することもできます:

<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities);  // 出力: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>

自分で試してみよう

<?php
// 通知のJSON配列を読み込む
$jsonInput = fgets(STDIN);
$notifications = (array)json_decode($jsonInput, true);

// 追加する緊急通知を読み込む
$urgentNotification = trim(fgets(STDIN));

// TODO: 配列の先頭に緊急通知を追加するコードを以下に記述してください

// 最終的な配列を出力する
print_r($notifications);
?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン