首頁 >後端開發 >PHP問題 >php交換數組鍵與值用什麼函數

php交換數組鍵與值用什麼函數

青灯夜游
青灯夜游原創
2022-08-23 19:41:152508瀏覽

php交換數組鍵與值用「array_flip()」函數。 array_flip()函數用於交換數組中的鍵名和對應關聯的鍵值,語法“array_flip(array);”,參數array表示需進行鍵和值對交換的數組;如果交換成功則返回交換後的數組,如果交換失敗則傳回NULL。

php交換數組鍵與值用什麼函數

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php交換陣列鍵與值用“array_flip()”函數。

array_flip() 函數用於反轉/交換數組中的鍵名和對應關聯的鍵值。

array_flip(array);
參數 描述
#array 必要。規定需進行鍵/值對反轉的數組。

傳回值:如果反轉成功,則傳回反轉後的陣列;如果反轉失敗,則傳回 NULL。    

附註:我們必須記住,陣列的值必須是有效鍵,即它們必須是整數或字串。如果值的類型錯誤,則會拋出警告,並且相關的鍵/值對將不包含在結果中。

範例

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
var_dump($arr);
$result=array_flip($arr);
var_dump($result);
?>

php交換數組鍵與值用什麼函數

#說明:利用array_flip()函數可以移除陣列中的重複元素

#在php中,陣列的鍵名(key)是唯一的、不會重複存在的。

利用這個特性,如果數組中有二個值是一樣的,那麼反轉數組後會保留最後一個鍵和值,這樣既可間接的實現數組的去重。

<?php
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
$arr1 = array_flip($arr);
var_dump($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c )
$arr2 = array_flip($arr1);
var_dump($arr2);//再反转回来,得到去重后的数组,输出Array ( [a] => a1 [b] => b1 [c] => a2 )
$arr3 = array_unique($arr);
var_dump($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 )
?>

php交換數組鍵與值用什麼函數

二種方法不同的是用array_flip得到的是重複元素最後的鍵和值,用array_unique得到的是二重複元素第一個鍵和值。

擴充知識:不使用函數,利用foreach語句和一個空數組也能進行交換數組鍵與值

<?php
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
var_dump($arr);
$res=[];
foreach($arr as $k=>$v){
	$res[$v]=$k;
}
var_dump($res);
?>

php交換數組鍵與值用什麼函數

推薦學習:《PHP影片教學

以上是php交換數組鍵與值用什麼函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn