Menu
Coddy logo textTech

'array_pop' による削除

CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 11/68。

array_pop() 関数は、配列から最後の要素を取り除き、その取り除かれた値を返します。要素を追加する array_push() とは異なり、この関数を使用するたびに配列が1要素分短くなります。

仕組みは以下の通りです:

<?php
$tasks = ["wash dishes", "do laundry", "buy groceries"];
$completedTask = array_pop($tasks);
echo $completedTask;  // 出力: buy groceries
print_r($tasks);      // 出力: Array ( [0] => wash dishes [1] => do laundry )
?>

array_pop() は元の配列を変更し、かつ削除された要素を返すことに注目してください。これにより、ToDoリストの最後のタスクを完了させたり、スタックから最新の項目を削除したりするなど、リストの末尾から項目を処理する必要があるシナリオに最適です。

空の配列に対して array_pop() を使用しようとすると、エラーを発生させることなく null を返します。この関数は、配列をスタックとして扱う場合に特に便利です。スタックとは、末尾に項目を追加し、末尾から項目を取り出す「後入れ先出し(LIFO)」パターンのことです。

quiz icon腕試し

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

quiz icon腕試し

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

quiz icon腕試し

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

challenge icon

チャレンジ

簡単

2つの入力を受け取ります。JSON形式のタスクの初期配列と、完了させるタスクの数を示す数値です。両方の入力を読み込み、JSON文字列を配列に変換し、array_pop() を指定された回数だけ使用して末尾から完了したタスクを削除し、最終的な配列を print_r() を使用して出力してください。

入力形式: 2行 - 1行目にはJSON配列(例: ["task1","task2","task3"])、2行目には完了させるタスクの数(数値)が含まれます。

期待される出力: 完了したタスクを削除した後の配列を print_r() を使用して表示したもの

チートシート

array_pop() 関数は、配列から最後の要素を取り除き、その取り除かれた値を返します。

<?php
$tasks = ["wash dishes", "do laundry", "buy groceries"];
$completedTask = array_pop($tasks);
echo $completedTask;  // 出力: buy groceries
print_r($tasks);      // 出力: Array ( [0] => wash dishes [1] => do laundry )
?>

主なポイント:

  • 最後の要素を削除することで、元の配列を変更します
  • 取り除かれた要素を返します
  • 空の配列に使用された場合は null を返します(エラーは発生しません)
  • 「後入れ先出し」(スタック)操作に便利です

自分で試してみよう

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

// 完了させるタスクの数を読み込む
$numToComplete = intval(fgets(STDIN));

// TODO: 以下にコードを記述してください
// array_pop() を使用して、指定された数のタスクを削除してください


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

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

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