php多维数组搜索,首先排序最佳匹配

时间:2012-02-15 20:38:41

标签: php arrays search multidimensional-array

我正在搜索多维数组以进行关键字匹配..搜索功能效果很好,但我想知道如何才能首先显示最佳匹配...基本上如果找到完全匹配,则显示为第一结果在数组中,然后显示任何部分匹配?

$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;
}

0 个答案:

没有答案