php交換數組鍵與值用「array_flip()」函數。 array_flip()函數用於交換數組中的鍵名和對應關聯的鍵值,語法“array_flip(array);”,參數array表示需進行鍵和值對交換的數組;如果交換成功則返回交換後的數組,如果交換失敗則傳回NULL。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php交換陣列鍵與值用“array_flip()”函數。
array_flip() 函數用於反轉/交換數組中的鍵名和對應關聯的鍵值。
array_flip(array);
參數 | 描述 |
---|---|
#array | 必要。規定需進行鍵/值對反轉的數組。 |
傳回值:如果反轉成功,則傳回反轉後的陣列;如果反轉失敗,則傳回 NULL。
附註:我們必須記住,陣列的值必須是有效鍵,即它們必須是整數或字串。如果值的類型錯誤,則會拋出警告,並且相關的鍵/值對將不包含在結果中。
範例
<?php header('content-type:text/html;charset=utf-8'); $arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); var_dump($arr); $result=array_flip($arr); var_dump($result); ?>
#說明:利用array_flip()函數可以移除陣列中的重複元素
#在php中,陣列的鍵名(key)是唯一的、不會重複存在的。
利用這個特性,如果數組中有二個值是一樣的,那麼反轉數組後會保留最後一個鍵和值,這樣既可間接的實現數組的去重。
<?php $arr = array("a"=>"a1","b"=>'b1',"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 ) ?>
二種方法不同的是用array_flip得到的是重複元素最後的鍵和值,用array_unique得到的是二重複元素第一個鍵和值。
擴充知識:不使用函數,利用foreach語句和一個空數組也能進行交換數組鍵與值
<?php $arr = array("a"=>"a1","b"=>'b1',"c"=>"a2","d"=>"a1"); var_dump($arr); $res=[]; foreach($arr as $k=>$v){ $res[$v]=$k; } var_dump($res); ?>
推薦學習:《PHP影片教學》
以上是php交換數組鍵與值用什麼函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!