Я создаю поиск по словам, но я хочу ранжировать их на основе наибольшего количества поисковых запросов.Как я могу решить эту проблему?
Я пытаюсь выполнить поиск, если ключ массива 1 находится внутри длинной строки массива 2, а затем упорядочить массив по общему вхождению массива 1 в массив 2. 2. 1003 *
Удар - мой код
$str = "Hello World January Jude";
$arr1 = ["Hello World January Jude Lol Love","Hello Lol Loop","Love Life Jude","Crude Flash Hello"];
$str = explode(" ", $str);
echo sort_base($arr1, $str);
function sort_base($arr, $str){
$count = "";
foreach ($arr as $valuer){
foreach ($str as $value){
//$list[] = strpos($valuer, $value, 0);
$count .= strpos($valuer, $value, 0)."<hr/>";
}
}
$arr = trim($count," ");
echo $arr;
}
Пример ввода:
$array = ["Say Hello","Hello World"," Hello World Cup Final","Hello Cup","Hello","World"];
$str = "Hello World Cup";
Желание вывода :
Массив в порядке:
- Hello World Cup
- Final Hello World
- Hello Cup
- Hello
- World
- Скажи привет