经实践证明:数组经过两次array_flip间接的实现 比直接使用array_unique 效率高。
array_unique() 函数移除数组中的重复的值,并返回结果数组。
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
返回的数组中键名不变。
注释:被保留的数组将保持第一个数组项的键名类型。
array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值。
array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。
如果原数组中的值的数据类型不是字符串或整数,函数将报错。
注:用array_flip得到的是重复元素最后的键和值,用array_unique得到的是两个重复元素第一个键和值。
效率快的原理:因为array_unique底层调用了快排算法,加大了函数运行的时间开销,导致整个函数的运行较慢。