1. Hàm array_flip() trong PHP

Hàm array_flip() trong PHP giúp ta trao đổi các phần tử trong một mảng. Tức là khi sử dụng hàm này trong PHP ta sẽ trao đổi được các giá trị keyvalue liên quan của chúng trong mảng với nhau và ngược lại. Hay ta có thể hiểu rằng với hàm array_flip() trong PHP sẽ trả về một mảng mà key từ input sẽ trở thành value và ngược lại các value sẽ trở thành key của mảng mới.

Nếu một value xuất hiện nhiều lần, thì key cuối cùng sẽ được sử dụng, tất cả key khác bị bỏ qua. Cùng với đó ta cũng phải đặc biệt nhớ rằng key của mảng phải là những giá trị hợp lệ. Tức là nó phải là một số nguyên (int) hay là một chuỗi(string) trong PHP. Nếu như có một giá trị sai thì warning sẽ được ném ra. Cặp key/value không hợp lệ đó cũng không được hiển thị trong kết quả.

2. Cú pháp hàm array_flip() trong PHP

Ta có cú pháp của hàm array_flip() trong PHP là:

array array_flip($array)

Trong đó hàm này sẽ chỉ nhận một tham số đó là $array chính là mảng đầu vào. Nếu như hợp lệ hàm này sẽ trả về một mảng mới đã được đảo ngược giá trị keyvalue với nhau. Nếu thất bại hàm sẽ trả về null .

Ví dụ: đảo keyvalue trong mảng được truyền vào

<?php
$a1=array("a"=>"PHP","b"=>"Java","c"=>"Python","d"=>"HTML");
$result=array_flip($a1);
print_r($result);
?>

Kết quả

Array ( [PHP] => a [Java] => b [Python] => c [HTML] => d )

Ví dụ này khá cơ bản với hàm $a1 cho trước ta chỉ cần sử dụng hàm array_flip() để đảo ngược giá trị keyvalue của mảng $a1 này.

3. Ví dụ về hàm array_flip() trong PHP

Ví dụ 1: chuyển đổi mảng với những giá trị giống nhau

<?php

$array = array("a" => 1, "b" => 1, "c" => 2,"d" => 2);
$result = array_flip($array);
print_r($result);

?>

Kết quả

Array ( [1] => b [2] => d )

Ta có thể thấy nếu trong hàm được truyền vào có những giá trị giống nhau thì hàm array_flip() sẽ tự động loại bỏ giá trị giống nhau đó để tránh sự trùng lặp. Key có chỉ số lớn nhất sau khi hoán đổi thì mới được thêm vào mảng.

Ví dụ 2:

<?php  
function Flip($array){  
  $result = array_flip($array);  
  return($result);  
 }  
$array = array("Java" => "PHP", "HTML" => "CSS", "Python" => "XML",  
"C" => "C++");  
print_r(Flip($array));  
?>

Kết quả

Array ( [PHP] => Java [CSS] => HTML [XML] => Python [C++] => C )

Ví dụ 3:

<?php  
$fruits= array('PHP', 'Java', 'Python');  
$flipped= array_flip($fruits);  
print_r($flipped);  
?>

Kết quả

Array ( [PHP] => 0 [Java] => 1 [Python] => 2 )