在每行中的任意位置搜索值时,从二维数组获取父数组键的最佳方法是什么?
例如,我有这个数组:
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
。
我为此使用了 for 循环,但我认为如果我有 700000 行的数组,它会很慢。
如果您有一个包含 700,000 行的数组,那么您几乎肯定做错了什么...我首先建议考虑使用不同的数据存储:平面文件或某种类型的数据库。
foreach($array as $key => $value) {
if(in_array('google', $value)) return $key
}
有 700,000 行的数组?有多少个数组? 9/10 次的问题是你的数据设置错误。
我将继续假设您正在进行某种搜索。由于您无法索引数组(在索引的search含义中),那么您最好将数据放入数据库并充分利用列索引来快速搜索。
根据上下文,您可能还想考虑将数据存储在文件中,每个数组一个,并使用文件搜索来查找哪个文件包含您的值。