взаимная сортировка двух разных списков строк

H
На сайте с 21.12.2007
Offline
24
554

помогите плз с PHP Скриптом

есть два списка строк

- список строк со словами

- список строк с количествеными характеристиками (цифры могут повторяться)

слово9 2

слово3 2

слово4 1

слово7 2

слово5 3

- как отсортировать слова в первом списке в соответствии с сортировкой во втором списке ?

слово4 1

слово3 2

слово7 2

слово9 2

слово5 3

- как обрезать первый список строк до определённого уровня в соответствии с цифрами во втором (т.е. всё что ниже 2 - удаляем)

слово4 1

слово3 2

слово7 2

слово9 2

peterpro
На сайте с 14.11.2007
Offline
35
#1

Я так понял, что размер первых двух списков совпадает, и их надо пересечь напрямую?

Тогда вот код.


<?php
function print_pro($mix){print "<pre>".print_r($mix,TRUE)."</pre>";} // удобный вывод

$words=array('слово9','слово3','слово4','слово7','слово5');
$nums=array(2,2,1,2,3);
$combined=array_combine($words,$nums); // объединили

print "<b>До сортировки</b>";
print_pro($combined);

asort ($combined); // сортируем

print "<b>После сортировки</b>";
print_pro($combined);

function lesser($var) // для обрезания ;)
{
return ($var <= 2 == TRUE);
}

print "<b>После обрезания</b>";
print_pro(array_filter($combined,"lesser"));

?>

Результат работы:

До сортировки


Array
(
[слово9] => 2
[слово3] => 2
[слово4] => 1
[слово7] => 2
[слово5] => 3
)

После сортировки

Array
(
[слово4] => 1
[слово7] => 2
[слово9] => 2
[слово3] => 2
[слово5] => 3
)

После обрезания

Array
(
[слово4] => 1
[слово7] => 2
[слово9] => 2
[слово3] => 2
)

Надеюсь, это вам поможет. Удачи! ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий