php – 为什么array_unique排序值?

前端之家收集整理的这篇文章主要介绍了php – 为什么array_unique排序值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是指我之前的一个问题: array_unique vs array_flip – 这表示 array_flip(array_flip())在处理简单的字符串和整数时比 array_unique()要快得多.

我想知道的是为什么array_unique()创建一个数组的副本,然后排除它,然后删除重复

这两个功能的来源可用here.

提前致谢!

如果您以算法思考,删除重复的方式是通过列表,跟踪您找到的项目,并摆脱已经在“找到此”列表中的内容.完成此操作的一个简单方法是对列表进行排序.这样就可以有效地删除重复项.想想你,更别说电脑了;这些列表中的哪一个更容易从中删除重复项?
  1. apple
  2. banana
  3. cantaloupe
  4. apple
  5. durian
  6. apple
  7. banana
  8. cantaloupe

要么

  1. apple
  2. apple
  3. apple
  4. banana
  5. banana
  6. cantaloupe
  7. cantaloupe
  8. durian

编辑:看了一下(找到this article)后,看起来像两个都完成这个工作,它们在功能上并不等同,或者至少不总是.说明以下几点:

> array_unique()对数值进行排序,如您所指出的那样,array_flip(array_flip())不会返回相同的数组 – 但这可能是需要的.>如果这些值是对象,那么您不能使它们成为键(对?),即flip方法不会在所有数组上使用,而排序方法可以正常工作,而不管值类型如何.

猜你在找的PHP相关文章