Я пытаюсь создать класс php, который должен сортировать мои результаты, поступающие из базы данных mysql, в порядке их «сходства» с введенным поисковым запросом.Я использую функцию php Similar_text.
class compare {
static $_base = NULL;
static function setBase($base) {
if (!isset ($base) or !is_string($base)) {
$base = "";
}
self::$_base = strtolower($base);
}
static function cmp($a) {
if (!is_string(self::$_base)){
self::setBase();
}
similar_text(self::$_base, strtolower($a), $a_pct);
return $a_pct;
}
static function eachcmp($src, $arr)
{
$ordered = array();
foreach($arr as $key => $val)
{
$sim = cmp($val);
$ordered[]["something"] = $arr[$key]["something"];
$ordered[]["something2"] = $arr[$key]["something2"];
$ordered[]["sim"] = $sim;
}
}
}
Как вы можете видеть в функции "eachcmp", я сравниваю каждое значение в массиве с Base и затем записываюзначения в новый массив.Теперь моя проблема начинается здесь.Как я могу теперь упорядочить массив в порядке $ order [] ["sim"]?Я знаю, что мне, вероятно, нужно использовать usort, но я не знаю, какую функцию указать в качестве параметров для usort.
Спасибо за помощь!phpheini