高效多维数组搜索算法的PHP实现
我正在寻找一种高效的算法,它允许我在多维数组中搜索特定的值。我有这样的想法:高效多维数组搜索算法的PHP实现,php,Php,我正在寻找一种高效的算法,它允许我在多维数组中搜索特定的值。我有这样的想法: $stuff = array( array( 'id' => 'abc123', 'name' => 'test' 'contents' => 'Lorem ipsum' ), array( 'id' => 'abc123', 'name' => 'test' 'cont
$stuff = array(
array(
'id' => 'abc123',
'name' => 'test'
'contents' => 'Lorem ipsum'
),
array(
'id' => 'abc123',
'name' => 'test'
'contents' => 'Lorem ipsum'
),
array(
'id' => 'abc123',
'name' => 'test'
'contents' => 'Lorem ipsum'
),
array(
'id' => 'abc43',
'name' => 'test'
'contents' => 'Lorem ipsum'
),
array(
'id' => 'xyzh31',
'name' => 'test'
'contents' => 'Lorem ipsum'
),
);
我必须找到id=abc43的项目。我怎样才能有效地做到这一点?你知道比遍历整个数组更好的算法吗?我认为你应该使用它,因为它是最有效的,我个人使用它来搜索矩阵中的值。你可以使用前面描述的array_multisort(),然后实现二进制搜索算法。我将尝试用seudocode描述它
首先想到的是使用
array\u filter
和一个检查您要查找的id值的函数…id不是顺序的。我想它们是唯一的,是字符串,可以排序。