php去重後重新排鍵值

2021-08-27 03:17:58 字數 1085 閱讀 3528

1 /* 建立乙個包含重複值的,一共四個元素的陣列 */

2 $array = array('green','blue','orange','blue');

3 4 /* 翻轉陣列,你將會得到唯一鍵值的陣列

5 array('green'=>0,'blue'=>1,'orange'=>2); */

6 $array = array_flip($array);

7 8 /* 然後再翻轉一次,將鍵和值重新放置,然後得到陣列:array(0=>'green',1=>'blue',2=>'orange'); */

9 $array = array_flip($array);

因為我們已經移除了一些元素,因此陣列看起來不是正常的序列。比如我們可能會得到:array(0=>』a』,2=>』b』,5=>』c』);。在某些情況下,這不是乙個問題,但是如果你需要陣列的鍵值保持數字的序列,你可以使用一到兩種方法解決鍵值亂序的問題。

新增array_flip之後的函式,將會對陣列的鍵值排序並且讓它們恢復到正常的序列,如:0,1,2,3…

1 $array = array('green','blue','orange','blue');

2 $array = array_flip($array);

3 $array = array_flip($array);

4 5 /* 使用array_merge()函式修復鍵值*/

6 $array = array_merge($array);

注意,這種修復陣列鍵值的方法比使用array_merge()函式稍微快了一點。你也可以在最後一步結合使用array_keys()函式(此函式返回翻轉後的值)。然後當你翻轉陣列的值,鍵值就會根據順序建立。

1 $array = array('green','blue','orange','blue');

2 $array = array_flip($array);

3 /* 跟第乙個例子一樣,但是現在我們先提取陣列的鍵值 */

4 $array = array_keys($array);

php陣列排重

陣列中重複項的去除 2010 07 28 15 29 一維陣列的重複項 使用array unique函式即可,使用例項如下 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵名的值...

php 陣列排重

一維陣列的重複項 使用array unique函式即可,使用例項如下 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵名的值不能重複,刪除重複項 function assoc u...

陣列中的鍵值對去重 陣列去重

陣列去重 將陣列中重複的元素找出來並刪減為乙個。目的很簡單,方法倒有很多,以至於我費盡心思去考慮各種方法的好處壞處並進行對比,最終得出在各種場合適用的不同方法。希望有不同意見的儘管指出來。方法1 function unique1 array 原理 新定義乙個陣列,結合乙個物件輔助 時間複雜度 o n...