代码之家  ›  专栏  ›  技术社区  ›  Desolator

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

  •  4
  • Desolator  · 技术社区  · 16 年前

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

    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)
    )
    

    现在我需要搜索例如google并获取父数组键。 应该是0…有什么想法吗?我曾经用过这个循环,但我认为如果我有70万行的数组,它会很慢。

    2 回复  |  直到 16 年前
        1
  •  7
  •   mmattax    16 年前

    如果您有一个包含700000行的数组,那么您几乎肯定在做错误的事情…我首先建议考虑使用不同的数据存储:平面文件或某种类型的数据库。

    
    foreach($array as $key => $value) {
        if(in_array('google', $value)) return $key
    }
    
    
        2
  •  4
  •   Adam Hopkinson    16 年前

    有70万行的数组?有多少阵列?9/10倍的问题是你的数据设置错误。

    我假设你在做某种搜索。因为无法对数组(在 搜索 索引的意义)那么您最好将数据放入数据库,并充分利用列索引来快速搜索。

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