小编Tra*_*ron的帖子

PHP性能问题:更快地将重复项留在将被搜索的数组或执行array_unique?

我有代码,可以为数组添加值.稍后在我的代码的另一部分中搜索该数组.添加到数组的值不一定是唯一的,因此最终可能会在搜索的数组中出现重复值.从技术上讲,即使搜索到的数组中存在重复项,我的代码也能正常工作,我将能够找到该值.我只是想知道值是否在被搜索的数组中,并且不关心它是在数组中1次还是10,000次.

我的问题是,在我进行搜索之前,是否首选(出于性能和/或样式的原因)在我的数组上搜索array_unique().

例如,假设我想搜索这样的数组:

$searchMe = Array("dog", "cat", "mouse", "dog", "dog", "dog");
Run Code Online (Sandbox Code Playgroud)

请注意,"狗"出现4次.如果我想搜索值"dog",在该数组中,它将正常工作,我将能够告诉它存在.如上所述,我不在乎它存在多少次,我只是想知道它是否存在.

那么我应该先搜索然后搜索去掉的数组呢?

$searchMe_cleaned = array_unique($searchMe);
Run Code Online (Sandbox Code Playgroud)

也就是说,这比仅仅使用重复数据搜索数组更快?

请记住,虽然在这个例子中,被搜索的数组只有几个元素,但搜索的实数可能有数百或数千个元素.

谢谢!

php arrays performance

5
推荐指数
2
解决办法
3784
查看次数

标签 统计

arrays ×1

performance ×1

php ×1