Hàm array_pop() trong PHP
Trần Thị Vân
- 1276
- 03/08/2025
Chức năng của Hàm array_pop() trong PHP
Hàm array_pop() trong PHP dùng để xóa phần tử cuối cùng của một mảng, số lượng phần tử trong mảng sẽ giảm đi 1 phần tử sau mỗi lần xóa, hàm này trả về giá trị của phần tử vừa xóa, giá trị đó có thể là chuỗi, số hoặc một mảng con.
Cú pháp của Hàm array_pop() trong PHP
array_pop($biến_mảng_gốc);
$biến_mảng_gốc: Biến của mảng gốc cần xóa phần tử cuối cùng.
Ví dụ Hàm array_pop() trong PHP
<h2>Hàm array_pop() mảng bình thường</h2>
<?php
// Mảng chứa giá trị chuỗi
$manggoc = array("Lực","Vân","Quỳnh","Dung");
echo array_pop($manggoc)."<br>";
print_r($manggoc);
// Kết quả: Array ( [0] => Lực [1] => Vân [2] => Quỳnh )
echo "<br>";
// Mảng chứa giá trị số
$manggocso = array(35,29,2,30);
echo array_pop($manggocso)."<br>";
print_r($manggocso);
// Kết quả: Array ( [0] => 35 [1] => 29 [2] => 2 )
?>
<h2>Hàm array_pop() mảng liên kết</h2>
<?php
$manglkgoc = array("Lực"=>35,"Vân"=>29,"Quỳnh"=>2,"Dung"=>30);
echo array_pop($manglkgoc)."<br>";
print_r($manglkgoc);
// Kết quả: Array ( [Lực] => 35 [Vân] => 29 [Quỳnh] => 2 )
echo "<br>";
?>
<h2>Hàm array_pop() mảng đa chiều</h2>
<?php
$mangdcgoc = array(array("Lực","35","Nam"),array("Vân","29","Nữ"),array("Quỳnh","1","Nữ"),array("Hạ","2","Nữ"));
print_r(array_pop($mangdcgoc));
echo "<br>";
print_r($mangdcgoc);
// Kết quả: Array ( [0] => Array ( [0] => Lực [1] => 35 [2] => Nam ) [1] => Array ( [0] => Vân [1] => 29 [2] => Nữ ) [2] => Array ( [0] => Quỳnh [1] => 1 [2] => Nữ ) )
?>
Kết quả:
/////Hàm array_pop() mảng bình thường
Dung
Array ( [0] => Lực [1] => Vân [2] => Quỳnh )
30
Array ( [0] => 35 [1] => 29 [2] => 2 )
/////Hàm array_pop() mảng liên kết
30
Array ( [Lực] => 35 [Vân] => 29 [Quỳnh] => 2 )
/////Hàm array_pop() mảng đa chiều
Array ( [0] => Hạ [1] => 2 [2] => Nữ )
Array ( [0] => Array ( [0] => Lực [1] => 35 [2] => Nam ) [1] => Array ( [0] => Vân [1] => 29 [2] => Nữ ) [2] => Array ( [0] => Quỳnh [1] => 1 [2] => Nữ ) )
Kinh nghiệm sử dụng hàm array_pop() trong PHP
Khi sử dụng array_pop(), cần chú ý rằng hàm này không chỉ lấy ra phần tử cuối mà còn loại bỏ phần tử đó khỏi mảng ban đầu. Vì vậy, nên xác định rõ có cần giữ lại dữ liệu gốc hay không trước khi thực hiện.
array_pop() làm thay đổi mảng ban đầu
array_pop() tác động trực tiếp lên mảng được truyền vào. Sau khi gọi hàm, phần tử cuối cùng không còn nằm trong mảng. Giá trị bị loại bỏ sẽ được hàm trả về để có thể tiếp tục xử lý.
Ví dụ, lấy phần tử cuối và đồng thời cập nhật lại mảng:
<?php
$numbers = [10, 20, 30, 40];
$lastNumber = array_pop($numbers);
echo $lastNumber;
print_r($numbers);
?>
Kết quả, biến $lastNumber nhận giá trị 40, còn mảng $numbers chỉ còn các phần tử 10, 20 và 30. Nếu cần giữ nguyên mảng ban đầu, hãy tạo một bản sao trước khi sử dụng array_pop().
Xử lý khi mảng không có phần tử
Không nên giả định rằng mảng lúc nào cũng có dữ liệu. Khi mảng rỗng, array_pop() không có phần tử để loại bỏ và kết quả trả về là NULL. Đây là trường hợp cần lưu ý khi dữ liệu đến từ người dùng, cơ sở dữ liệu hoặc một quy trình xử lý có thể tạo ra mảng rỗng.
Có thể kiểm tra mảng trước khi lấy phần tử cuối để tránh xử lý sai dữ liệu:
<?php
$items = [];
if (!empty($items)) {
$lastItem = array_pop($items);
echo $lastItem;
} else {
echo "Mảng không có phần tử";
}
?>
Cách kiểm tra này đặc biệt hữu ích khi giá trị trả về của array_pop() được dùng cho các bước xử lý tiếp theo.
Phân biệt array_pop() với array_shift() trong PHP
array_pop() và array_shift() đều loại bỏ một phần tử khỏi mảng, nhưng vị trí xử lý khác nhau. array_pop() loại bỏ phần tử cuối mảng, trong khi array_shift() loại bỏ phần tử đầu mảng.
| Hàm | Vị trí loại bỏ | Ảnh hưởng đến mảng |
|---|---|---|
| array_pop() | Cuối mảng | Có |
| array_shift() | Đầu mảng | Có |
Vì vậy, nếu cần lấy dữ liệu theo nguyên tắc vào sau, xử lý trước, array_pop() thường phù hợp hơn. Ngược lại, khi cần lấy phần tử đầu tiên và đẩy các phần tử còn lại về phía trước, có thể sử dụng array_shift().
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_pop() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *