使用 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,且不会导致错误。这个函数在你把数组用作栈时特别有用。作为栈使用时,你会将元素添加到末尾,并按照“后进先出”的顺序从末尾移除元素。
挑战
简单你会收到两个输入:一个 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);
?>这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: PHP 在线编译器