Hàm array_reverse() trong PHP
Trần Thị Vân
- 1134
- 28/07/2025
Chức năng của Hàm array_reverse() trong PHP
Hàm array_reverse() trong PHP dùng để đảo ngược số thứ tự của các phần tử có trong một mảng, trả về mảng mới được đảo ngược mà không làm thay đổi mảng gốc, các khóa (key) trong mảng mới bị xóa bỏ và cập nhật lại khóa (key) mới.
Cú pháp của Hàm array_reverse() trong PHP
$mảng_mới = array_reverse($mảng_gốc);
$mảng_gốc: Biến mảng gốc.
$mảng_mới: Trả kết quả về Biến mảng mới.
Ví dụ Hàm array_reverse() trong PHP
<h2>Hàm array_reverse() đảo ngược mảng chứa giá trị chuỗi</h2>
<?php
$manggiatrichu = array("Vân","Lực","Quỳnh");
$mangchumoi = array_reverse($manggiatrichu);
foreach($mangchumoi as $key => $value){
echo $key." - ".$value."<br>";
}?>
<h2>Hàm array_reverse() đảo ngược mảng chứa giá trị số</h2>
<?php
$manggiatriso = array(29,35,1);
$mangsomoi = array_reverse($manggiatriso);
foreach($mangsomoi as $key => $value){
echo $key." - ".$value."<br>";
}
?>
Kết quả:
/////Hàm array_reverse() đảo ngược mảng chứa giá trị chuỗi
0 - Quỳnh
1 - Lực
2 - Vân
/////Hàm array_reverse() đảo ngược mảng chứa giá trị số
0 - 1
1 - 35
2 - 29
Những lưu ý khi sử dụng hàm array_reverse() trong PHP
Khi sử dụng array_reverse(), việc đảo thứ tự phần tử khá đơn giản nhưng vẫn có một số điểm cần chú ý, đặc biệt là cách PHP xử lý key. Hiểu rõ cơ chế này sẽ giúp tránh tình trạng dữ liệu sau khi đảo mảng không còn đúng với mục đích ban đầu.
array_reverse() có làm thay đổi mảng ban đầu không?
array_reverse() không thay đổi trực tiếp mảng được truyền vào. Hàm tạo và trả về một mảng mới với thứ tự phần tử đã được đảo ngược. Vì vậy, nếu cần giữ lại dữ liệu ban đầu để sử dụng ở bước khác, có thể gọi hàm mà không lo mảng gốc bị thay đổi.
<?php
$numbers = [10, 20, 30, 40];
$reversed = array_reverse($numbers);
print_r($numbers);
print_r($reversed);
?>
Trong ví dụ trên, $numbers vẫn giữ nguyên thứ tự ban đầu, còn $reversed chứa các phần tử theo thứ tự ngược lại. Cách hoạt động này phù hợp khi cần tạo một phiên bản đảo ngược nhưng vẫn muốn tiếp tục sử dụng mảng gốc.
Cách xử lý khóa key khi đảo ngược mảng
Với mảng có key dạng số, array_reverse() mặc định sẽ tạo lại key số theo thứ tự từ 0. Đây là điểm cần lưu ý nếu chương trình đang phụ thuộc vào vị trí hoặc key ban đầu của từng phần tử.
<?php
$data = [
5 => 'PHP',
8 => 'JavaScript',
12 => 'HTML'
];
$result = array_reverse($data);
print_r($result);
?>
Nếu muốn giữ nguyên key của các phần tử, có thể sử dụng tham số thứ hai của hàm. Cách này đặc biệt hữu ích với dữ liệu được đánh dấu bằng các mã số hoặc chỉ mục riêng thay vì chỉ dùng vị trí trong mảng.
Đảo ngược mảng kết hợp với tham số preserve_keys
Tham số preserve_keys quyết định việc giữ lại key khi đảo mảng. Khi truyền true, PHP bảo toàn key của các phần tử; khi không truyền hoặc sử dụng false, các key số sẽ được đánh lại.
<?php
$data = [
101 => 'Sản phẩm A',
205 => 'Sản phẩm B',
309 => 'Sản phẩm C'
];
$result = array_reverse($data, true);
print_r($result);
?>
Trong trường hợp này, thứ tự phần tử được đảo ngược nhưng các key 101, 205 và 309 vẫn được giữ nguyên. Với mảng kết hợp, các key thường mang ý nghĩa nhận diện dữ liệu nên việc bảo toàn chúng có thể quan trọng hơn việc chỉ đảo vị trí phần tử.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_reverse() 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 *