Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка массива при помощи регулярных выражений
 
 автор: romza   (30.12.2005 в 10:21)   письмо автору
 
 

Хочу сделать поиск где будет производится сортировка вывода результатов запроса следующим образом: первым выводится результат запроса где поисковое слово или слова находятся ближе к началу фразы.

имеем переменную $GLOBALS["keywords"] которая содержит запрос:

имеем массив:
$arr=$rn["search"]["keywords"];


Вывод результатов:

while (list($k, $v) = each ($arr))
{
echo '<div><b>'.($k+1).'.  </b><a href="'.$v["href"].'"  target="_blank"><b>'.$v["e_title"].'</b></div><br>';


каким образом я могу тут задать подобного рода сортирувку???

Оснавная загвоздка в том что я не могу дотумкать как мне сравнивать с переменной $GLOBALS["keywords"]

   
 
 автор: cheops   (30.12.2005 в 13:22)   письмо автору
 
   для: romza   (30.12.2005 в 10:21)
 

Вы в базе данных MySQL ищите или тексте? Это я к тому что в MySQL эта задача уже решена в механизме полнотекстового поиска...

   
 
 автор: romza   (30.12.2005 в 13:27)   письмо автору
 
   для: cheops   (30.12.2005 в 13:22)
 

Есть массив из которого и делается вывод... сортировать при запросе нельзя... там идет своя сортировка. Поэтому необходимо сделать сортировку при выведении резултьатов... или может я не рационально подхожу к решения данной задачи???

Но вопрос все равно остается... меня интересует следующее...

у меня есть строковая переменная, как мне выполнить сравнение с ней???

   
 
 автор: romza   (03.01.2006 в 13:04)   письмо автору
 
   для: romza   (30.12.2005 в 13:27)
 

Ну кто нить плиз... покажите как можно использовать в регулярном выражении переменную... ???? И вообще, можно ли так делать???

   
 
 автор: cheops   (03.01.2006 в 13:06)   письмо автору
 
   для: romza   (03.01.2006 в 13:04)
 

Не очень понятно что с чем нужно сравнивать...

   
 
 автор: romza   (03.01.2006 в 13:23)   письмо автору
 
   для: cheops   (03.01.2006 в 13:06)
 

Сравнивать нужно со значением $GLOBALS["keywords"]

Сначала выводим фразы где это значение стоит в самом начале,
Потом выводим фразы где значение стоит в середине, а затем выводми где значение стоит в конце...
... если можно плиз... как это организовать???

   
 
 автор: cheops   (03.01.2006 в 13:57)   письмо автору
 
   для: romza   (03.01.2006 в 13:23)
 

>Сравнивать нужно со значением $GLOBALS["keywords"]
Что сравнивать?

   
 
 автор: romza   (03.01.2006 в 17:30)   письмо автору
 
   для: cheops   (03.01.2006 в 13:57)
 

Сравнивать нужно значения в массиве с переменной $GLOBALS["keywords"]
(точнее с регулярным выражением с использованием переменной) для их сортировки и последующего вывода...

   
 
 автор: cheops   (04.01.2006 в 00:50)   письмо автору
 
   для: romza   (03.01.2006 в 17:30)
 

Так вы хотите свою функцию сортировки написать и сортировать массив при помощи функции usort()? Или вы хотите создать временный массив с ключами - расстоянием фразы от начала и сортировать по ним?

   
 
 автор: romza   (05.01.2006 в 09:59)   письмо автору
 
   для: cheops   (04.01.2006 в 00:50)
 

Я думаю что через временный массив с ключами - расстоянием фразы от начала и сортировать по ним было бы лучше... но как это организовать???

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования