天天看點

php高效率對一維數組進行去重

$input = array("a" => "green", "red", "b" => "green", "blue", "red");

//常見做法:
$result = array_unique($input);
print_r($result);

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

//效率提升:
/*
 * 第一種
 *  思路:鍵值互換,達到去重目的,但是結果集中鍵值可能并不是按照數字索引的,可通過array_merge重新生成索引
*/
$result_01 = array_flip($input);
$result_02 = array_flip($result_01);
$result    = array_merge($result_02);

/*
 * 第二種
 * 思路:鍵值互換,通過array_key直接擷取鍵值,比array_merge()更快
*/
$result_01 = array_flip($input);
$result    = array_key($result_01);