Hàm array_flip() trong PHP
Trần Thị Vân
- 1182
- 03/08/2025
Chức năng của Hàm array_flip() trong PHP
Hàm array_flip() trong PHP dùng để lấy cột khóa(key) và cột giá trị của một mảng để tạo ra một mảng mới nhưng đảo ngược cột khóa và cột giá trị, cột khóa (key) bên mảng gốc thành cột giá trị bên mảng mới, cột giá trị bên mảng gốc thành cột khóa (key) bên mảng mới, hàm này không làm thay đổi mảng gốc.
Cú pháp của Hàm array_flip() trong PHP
$mảng_mới = array_flip($biến_mảng_gốc);
$biến_mảng_gốc: Biến của mảng gốc.
$mảng_mới: Trả kết quả về mảng mới mà không làm thay đổi mảng gốc.
Ví dụ Hàm array_flip() trong PHP
<h2>Hàm array_flip() mảng liên kết</h2>
<?php
$manglkgoc = array("Dung"=>4,"Hạ"=>5,"Vân"=>6,"Lực"=>7,"Quỳnh"=>8);
$mangmoi = array_flip($manglkgoc);
print_r($mangmoi); // Kết quả: Array ( [4] => Dung [5] => Hạ [6] => Vân [7] => Lực [8] => Quỳnh )
?>
<h2>Hàm array_flip() mảng bình thường</h2>
<?php
$manggoc = array("Dung","Hạ","Vân","Lực","Quỳnh");
$mangmoi = array_flip($manggoc);
print_r($mangmoi); // Kết quả: Array ( [Dung] => 0 [Hạ] => 1 [Vân] => 2 [Lực] => 3 [Quỳnh] => 4 )
?>
Kết quả:
/////Hàm array_flip() mảng liên kết
Array ( [4] => Dung [5] => Hạ [6] => Vân [7] => Lực [8] => Quỳnh )
/////Hàm array_flip() mảng bình thường
Array ( [Dung] => 0 [Hạ] => 1 [Vân] => 2 [Lực] => 3 [Quỳnh] => 4 )
Những lưu ý khi sử dụng hàm array_flip() trong PHP
array_flip() rất hữu ích khi cần đảo vị trí giữa khóa và giá trị của mảng, nhưng kết quả có thể không giống như mong đợi nếu dữ liệu đầu vào không phù hợp. Đặc biệt, cần chú ý đến giá trị trùng lặp và kiểu dữ liệu của phần tử trong mảng.
array_flip() xử lý giá trị trùng nhau như thế nào?
Khi nhiều phần tử có cùng một giá trị, array_flip() không thể giữ lại tất cả chúng sau khi đảo. Các phần tử có giá trị giống nhau sẽ cùng trở thành một khóa, vì vậy phần tử xuất hiện sau sẽ ghi đè kết quả của phần tử trước.
Ví dụ:
<?php
$colors = [
'first' => 'red',
'second' => 'blue',
'third' => 'red'
];
$result = array_flip($colors);
print_r($result);
?>
Trong trường hợp này, giá trị red xuất hiện hai lần. Sau khi đảo mảng, chỉ còn một khóa red và giá trị tương ứng sẽ là third. Vì vậy, nếu dữ liệu có khả năng trùng giá trị, không nên dùng array_flip() khi cần bảo toàn toàn bộ phần tử.
array_flip() có đảo được mọi kiểu dữ liệu không?
Không phải mọi giá trị đều có thể trở thành khóa của mảng sau khi đảo. Hàm này phù hợp với các giá trị kiểu string và int. Những kiểu dữ liệu khác như array, object hoặc resource không thể được sử dụng làm khóa theo cách mà array_flip() yêu cầu.
Do đó, trước khi đảo một mảng có dữ liệu phức tạp, nên kiểm tra kiểu của các giá trị. Việc này giúp tránh kết quả không đầy đủ và dễ phát hiện nguyên nhân khi dữ liệu sau khi xử lý không đúng với mục đích ban đầu.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_flip() 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 *