Menu
CoddyTech

Xóa phần tử bằng 'array_pop'

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 11 trên 68.

Hàm (function) array_pop() xóa phần tử cuối cùng khỏi mảng và trả về giá trị đã xóa đó. Khác với array_push(), hàm này rút ngắn mảng đi một phần tử mỗi lần bạn dùng.

Cách hoạt động như sau:

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

Lưu ý rằng array_pop() vừa sửa đổi mảng ban đầu, vừa trả về phần tử đã xóa. Điều này rất phù hợp khi bạn cần xử lý các mục từ cuối danh sách, chẳng hạn như hoàn thành nhiệm vụ cuối cùng trong danh sách việc cần làm hoặc xóa mục mới nhất khỏi ngăn xếp.

Nếu bạn thử dùng array_pop() với một mảng rỗng, hàm này sẽ trả về null mà không gây ra lỗi. Hàm (function) này đặc biệt hữu ích khi bạn dùng mảng làm ngăn xếp, thêm phần tử vào cuối và xóa phần tử ở cuối theo thứ tự «vào sau, ra trước».

challenge icon

Thử thách

Dễ

Bạn sẽ nhận hai đầu vào: một mảng tác vụ ban đầu ở định dạng JSON và một số cho biết cần hoàn thành bao nhiêu tác vụ. Đọc cả hai đầu vào, chuyển chuỗi JSON thành mảng, dùng array_pop() số lần tương ứng để xóa các tác vụ đã hoàn thành từ cuối mảng, rồi in mảng cuối cùng bằng print_r().

Định dạng đầu vào: Hai dòng: dòng đầu tiên chứa một mảng JSON (ví dụ: ["task1","task2","task3"]), dòng thứ hai chứa số tác vụ cần hoàn thành (một số)

Đầu ra mong đợi: Mảng sau khi xóa các tác vụ đã hoàn thành, được hiển thị bằng print_r()

Tự làm thử

<?php
// Đọc mảng (array) JSON đầu vào
$jsonInput = fgets(STDIN);
$tasks = (array)json_decode($jsonInput, true);

// Đọc số lượng nhiệm vụ cần hoàn thành
$numToComplete = intval(fgets(STDIN));

// TODO: Viết code bên dưới
// Dùng array_pop() để xóa số lượng nhiệm vụ đã chỉ định


// In ra mảng cuối cùng
print_r($tasks);
?>
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online