我有代码,可以为数组添加值.稍后在我的代码的另一部分中搜索该数组.添加到数组的值不一定是唯一的,因此最终可能会在搜索的数组中出现重复值.从技术上讲,即使搜索到的数组中存在重复项,我的代码也能正常工作,我将能够找到该值.我只是想知道值是否在被搜索的数组中,并且不关心它是在数组中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)
也就是说,这比仅仅使用重复数据搜索数组更快?
请记住,虽然在这个例子中,被搜索的数组只有几个元素,但搜索的实数可能有数百或数千个元素.
谢谢!