Menu
CoddyTech

使用 array_pop 移除元素

本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 11 课,共 68 课。

array_pop() 函数会从数组中移除最后一个元素,并返回被移除的值。与会添加元素的 array_push() 不同,每次使用这个函数都会让你的数组缩短一个元素。

它的工作原理如下:

<?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() 既会修改原数组,也会返回被移除的元素。当你需要从列表末尾处理项目时,它就很适合,比如完成待办事项列表中的最后一项,或从栈中移除最近添加的项目。

如果你尝试对空数组使用 array_pop(),它会返回 null,且不会导致错误。这个函数在你把数组用作栈时特别有用。作为栈使用时,你会将元素添加到末尾,并按照“后进先出”的顺序从末尾移除元素。

challenge icon

挑战

简单

你会收到两个输入:一个 JSON 格式的初始任务数组,以及一个表示要完成多少项任务的数字。读取这两个输入,将 JSON 字符串转换为数组,使用 array_pop() 按指定次数从末尾移除已完成的任务,并使用 print_r() 输出最终数组。

输入格式:两行,第一行包含一个 JSON 数组(例如:["task1","task2","task3"]),第二行包含要完成的任务数量(一个数字)

预期输出:移除已完成任务后的数组,使用 print_r() 显示

亲手试试

<?php
// 读取输入的 JSON 数组
$jsonInput = fgets(STDIN);
$tasks = (array)json_decode($jsonInput, true);

// 读取需要完成的任务数量
$numToComplete = intval(fgets(STDIN));

// TODO:在下方编写你的代码
// 使用 array_pop() 移除指定数量的任务


// 输出最终的数组
print_r($tasks);
?>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: PHP 在线编译器