Hàm prev() trong PHP
Trần Thị Vân
- 1227
- 04/08/2025
Chức năng của Hàm prev() trong PHP
Hàm prev() trong PHP dùng để di chuyển con trỏ nội bộ của mảng lùi lại một vị trí so với vị trí hiện tại và lấy ra giá trị của phần tử đó, nó lùi cho tới khi qua hết vị trí đầu tiên của mảng là sẽ trả về rỗng.
Cú pháp của Hàm prev() trong PHP
$kết_quả = prev($biến_mảng_gốc);
$biến_mảng_gốc: Biến của mảng gốc.
$kết_quả: Kết quả di chuyển con trỏ nội bộ lùi về 1 vị trí tới 1 phần tử và lấy ra giá trị của phần tử đó, khi đang ở vị trí đầu tiên mà kêu nó lùi nữa thì kết quả trả về rỗng.
Ví dụ Hàm prev() trong PHP
<?php
$manggoc = array("Lực","Vân","Quỳnh");
?>
<h2>Xem phần tử cuối cùng và di chuyển con trỏ nội bộ tới vị trí cuối cùng</h2>
<?php
echo end($manggoc)."<br>"; // Kết quả: Quỳnh
?>
<h2>Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:</h2>
<?php
echo prev($manggoc)."<br>"; // Kết quả: Vân
?>
<h2>Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:</h2>
<?php
echo prev($manggoc)."<br>"; // Kết quả: Lực
?>
<h2>Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:</h2>
<?php
echo prev($manggoc)."<br>"; // Kết quả:
?>
Kết quả:
/////Xem phần tử cuối cùng và di chuyển con trỏ nội bộ tới vị trí cuối cùng
Quỳnh
/////Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:
Vân
/////Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:
Lực
/////Lùi con trỏ nội bộ 1 vị trí và lấy ra giá trị của phần tử:
Những lưu ý khi sử dụng hàm prev() trong PHP
Hàm prev() thường được dùng khi cần di chuyển con trỏ mảng về phần tử đứng ngay trước vị trí hiện tại. Để tránh kết quả không như mong muốn, cần chú ý đến trạng thái của con trỏ trước và sau mỗi lần gọi hàm.
Hàm prev() hoạt động dựa trên vị trí con trỏ hiện tại
prev() không tìm phần tử đứng trước theo giá trị, mà di chuyển con trỏ nội bộ của mảng về vị trí liền trước. Vì vậy, kết quả phụ thuộc vào vị trí con trỏ tại thời điểm hàm được gọi.
Nếu con trỏ đang ở phần tử đầu tiên, việc gọi prev() sẽ không thể di chuyển thêm về phía trước. Khi đó, hàm có thể trả về false. Đây là điểm cần lưu ý nếu chương trình sử dụng kết quả trả về để tiếp tục xử lý dữ liệu.
<?php
$products = ['Laptop', 'Mouse', 'Keyboard'];
reset($products);
next($products);
echo prev($products);
?>
Trong ví dụ trên, con trỏ được đưa đến phần tử thứ hai bằng next(), sau đó prev() đưa con trỏ trở lại phần tử đầu tiên. Cách hoạt động này cho thấy vị trí hiện tại của con trỏ có ảnh hưởng trực tiếp đến kết quả.
Cần xác định vị trí con trỏ trước khi sử dụng prev()
Khi xử lý mảng bằng nhiều hàm điều hướng như next(), current(), reset() hoặc end(), vị trí con trỏ có thể đã thay đổi từ trước. Do đó, nên xác định trạng thái hiện tại trước khi gọi prev(), đặc biệt trong các đoạn mã có nhiều bước xử lý liên tiếp.
Nếu cần di chuyển ngược nhiều lần, có thể kiểm tra giá trị trả về sau mỗi lần gọi để tránh tiếp tục xử lý khi con trỏ đã vượt khỏi phần tử đầu tiên.
<?php
$items = ['A', 'B', 'C'];
end($items);
while (($item = prev($items)) !== false) {
echo $item;
}
?>
Cách kiểm tra này giúp chương trình nhận biết thời điểm không còn phần tử phù hợp để di chuyển tiếp. Với những mảng có dữ liệu thực tế, việc kiểm tra kết quả trả về cũng giúp hạn chế lỗi logic khi con trỏ đã ở vị trí đầu.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm prev() 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 *