我正在搜索多维数组以进行关键字匹配..搜索功能效果很好,但我想知道如何才能首先显示最佳匹配...基本上如果找到完全匹配,则显示为第一结果在数组中,然后显示任何部分匹配?
$results = array_multi_search($array, $keyword);
foreach($results as $row) {
echo $row['name'];
}
function array_multi_search($array, $input){
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach($iterator as $id => $sub){
$subArray = $iterator->getSubIterator();
if(@strstr(strtolower($sub), strtolower($input))){
$subArray = iterator_to_array($subArray);
$outputArray[] = array_merge($subArray, array('Matched' => $id));
}
}
return $outputArray;
}