使用php在多维数组中获取父数组键的最快方法

Sol*_*ake 4 php performance search key multidimensional-array

使用多维数组获取父数组键的最佳方法是什么?例如,我有这个数组:

array(

    [0] => array(0=> sample, 1=>picture, 2=>frame, 3=>google)

    [1] => array(0=> iphone, 1=>orange, 2=>love, 3=>msn)

    [2] => array(0=> joe, 1=>geee, 2=>panda, 3=>yahoo)
)
Run Code Online (Sandbox Code Playgroud)

现在我需要搜索例如google并获取父数组键..它应该是0 ...任何想法?我用它来循环,但我认为如果我有700000行的数组将会很慢..

mma*_*tax 7

如果你有一个包含700,000行的数组,你几乎肯定会做错事......我首先会建议考虑使用不同的数据存储:平面文件或某种类型的数据库.


foreach($array as $key => $value) {
    if(in_array('google', $value)) return $key
}


Ada*_*son 5

700,000 行的数组?多少个数组?9/10 次的问题是您的数据设置错误。

我将继续假设您正在进行某种搜索。由于您无法索引数组(索引的搜索含义),因此您可能最好将数据放入数据库并充分利用列索引来快速搜索。

根据上下文,您可能还想考虑将数据存储在文件中,每个数组一个,并使用文件搜索来查找包含您的值的文件。

  • 如果您重复执行任务,数据库可能是最快的解决方案。真的又快又脏?使用电子表格。 (3认同)