您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關PHP中如何將鍵名key和值的位置進行互換的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
“將鍵名key和值的位置進行互換”,簡單來說就是交換數組中的鍵名和鍵值。
而這一操作,PHP中有一個內置函數就是這個功能,那就是 array_flip($array)
函數。
我們通過下面的例子來具體看看
<?php $arr = array('a', 'b', '1', 2, 3); var_dump($arr); var_dump(array_flip($arr)); ?>
輸出結果:
說明:$array數組中的值需要能夠作為合法的鍵名(例如 int 或者 string),如果值的類型不對將發出一個警告,并且有問題的鍵值對將不會反轉。
如果同一個鍵值出現了多次,那么最后一個鍵名將作為它的值,所有其他的都丟失了。
<?php $arr = array("a" => 1, "b" => 1, "c" => 2); var_dump($arr); var_dump(array_flip($arr)); ?>
輸出結果:
可以看出:利用array_flip()可以非常快速的交換鍵名和鍵值。那么如果不使用array_flip()函數,要怎么交換鍵名和鍵值呢?下面給大家介紹一下。
思路:
首先使用array_keys($array)
獲得數組中的鍵名,返回一個鍵名數組;
然后使用array_values($array)
獲取數組中所有元素的值,返回一個鍵值數組;
最后使用array_combine($keys,$values)
來合并兩個數組以創建新數組,第一個參數會作為新數組的鍵名,第二個參數會作為新數組的鍵值。(對array_combine()函數不了解,可以閱讀文章《PHP數組學習之如何以合并方式創建數組》)
實現代碼:
<?php $arr = array('a', 'b', '1', 2, 3,'c'); var_dump($arr); //獲取全部鍵名 $keys=array_keys($arr); //獲取全部鍵值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
輸出結果:
如果有多個相同的鍵值,處理方式和 array_flip() 函數相似,將最后一個鍵名作為它的值,所有其他的都丟失了。
<?php header("content-type:text/html;charset=utf-8"); $arr = array('a', 'b', '1', 2, 3,'1'); var_dump($arr); //獲取全部鍵名 $keys=array_keys($arr); //獲取全部鍵值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
輸出結果:
感謝各位的閱讀!關于“PHP中如何將鍵名key和值的位置進行互換”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。