php利用array_flip實現陣列鍵值交換去除陣列重複值
阿新 • • 發佈:2019-02-11
php 如何去除一個數組裡面的重複值?按一般的思維,一般都會是進行兩個 foreach 迴圈剔除掉數組裡面相同的值。但是這個方法不是一種最優的方法,下面介紹一個 php 自帶的陣列函式 array_flip 函式。
首先介紹一下 array_flip 函式。
array array_flip ( array trans)
trans 需要進行反轉的陣列
【功能】
函式交換陣列中的鍵和值,該函式將返回一個反轉後的陣列,即原陣列的值變成了新陣列的鍵值,原陣列的鍵值變成了新陣列的值。如果陣列中有相同的值,則只有最後的一個具有同樣值的才會被反轉到新陣列。
【使用範圍】
php4、php5
【示例】
- <?php
- $trans = array ("a" => 1, "b" => 1, "c" => 2);
- $trans = array_flip ($trans);
- print_r($trans);
- ?>
以上結果為:
- Array
- (
- [1] => b
- [2] => c
- )
由以上結果我們可以看出,array_flip 函式能夠去除數組裡面的值重複的項,那麼如果我們需要去除一個數組裡面的重複項的話,只需對該陣列進行兩次 array_flip 即可。還是上例中的資料,如果如下:
- <?php
- $trans = array ("a"
- $trans = array_flip (array_flip($trans));
- print_r($trans);
- ?>
則結果為:
- Array
- (
- [b] => 1
- [c] => 2
- )