轉換方法:1、用「array_flip($arr)」語句;2、用「array_combine($arr,array_keys($arr))」語句;3、用「foreach($arr1 as $k =>$v){$arr2[$v]=$k;}”語句。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php將鍵名和鍵值相互轉化
1、使用array_flip()函數
php將鍵名和鍵值相互轉化,簡單來說就是交換數組中的鍵名和鍵值。
而這個動作,PHP有內建函數就是這個功能,那就是 array_flip()
函數。
array_flip() 函數用來交換數組中的鍵和值,其語法如下:
array_flip ($array)
$array數組中的值需要能夠作為合法的鍵名,例如需要是integer 或者string。如果值的類型不對將發出一個警告,並且有問題的鍵值對將不會反轉。
如果同一個值出現了多次,那麼最後一個鍵名將作為它的值,所有其他的都遺失了。
傳回值:執行成功時傳回交換後的數組,失敗時傳回 NULL。
範例:
<?php $arr = array('a', 'b', '1', 2, 3); var_dump($arr); var_dump(array_flip($arr)); ?>
2、使用array_combine()和array_keys()函數
array_keys()函數可以獲得數組中的鍵名,傳回鍵名數組
array_combine()函數透過合併兩個數組(一個為鍵名數組,一個為鍵值數組)來建立一個新數組。
只需將array_keys()函數傳回的鍵名數組作為新數組的鍵值,原始數組作為新數組的鍵名即可。
<?php $arr = array('a', 'b', '1', 2, 3); var_dump($arr); var_dump(array_combine($arr,array_keys($arr))); ?>
3、利用foreach迴圈和一個空數組
<?php $arr1=array("aaa"=>11,"bbb"=>22,"ccc"=>33); var_dump($arr1); $arr2=array(); foreach($arr1 as $k=>$v){ $arr2[$v]=$k; } var_dump($arr2); ?>
推薦學習: 《PHP影片教學》
以上是php怎麼將鍵名和鍵值相互轉化的詳細內容。更多資訊請關注PHP中文網其他相關文章!