PHP搜索数组的最快方式(实现字母缩小)?

PHP搜索数组的最快方式(实现字母缩小)?,php,Php,我有一个多重影像。值大于2000的数组 哪种简单的方法是在其中搜索值最有效的方法 我特别好奇的是,array_search()是否使用字母缩窄来提高效率(虽然没有参数指示是否为字母数字)。 $_array = ["abidabi", "beda", "cedi", "zamibula"]; $_target = "zamibula"; foreach($_array as $val) { if ($val == $_target) { echo $val;

我有一个多重影像。值大于2000的数组

哪种简单的方法是在其中搜索值最有效的方法

我特别好奇的是,array_search()是否使用字母缩窄来提高效率(虽然没有参数指示是否为字母数字)。

$_array = ["abidabi", "beda", "cedi", "zamibula"];
$_target = "zamibula";

foreach($_array as $val)
{
    if ($val == $_target)
    {
        echo $val;
    }
vs

当然,我的实际代码非常复杂(json,包含大量数据的多维数组,用于填充输入->选择->选项),因此它已经落后于浏览器端

你对按字母顺序搜索有什么想法?我是否可以以某种方式对数据进行结构化以减少消耗:)


谢谢

如果数组中的所有值都是唯一的,那么最快的方法就是将值切换到键,然后调用
isset
,如下所示:

$\u数组=[“阿比达比”、“贝达”、“塞迪”、“扎米布拉”];
$\u target=“扎米布拉”;
$index=array\u flip($\u array);
var_dump(isset($index[$_target]);

无论数组大小如何,这几乎总是很快。

>哪种简单的方法是搜索数组中的值最有效的方法。使用数据库?使用in_数组将是您在大于1000的数组上的最佳选择。见:
echo $_array[array_search('zamibula', $_array)];