我有一个项目数组需要应用搜索功能,目前我正在考虑先对其进行排序,然后简单地应用二分查找,因为它不需要太复杂的操作,但如果遇到问题,我将尝试其他方法。 我的问题是:在array_search()中使用的搜索算法是什么?如果确实是二分查找,那么我可以使用它。
它不是一个二分查找...它只是循环遍历数组,直到找到第一个匹配的元素...内部等效于 foreach($haystack as $key => $value) { if ($value == $needle) { return $key; } } 虽然对于快速搜索,Trie树可能比二分查找更好。