сортировка строк по количеству слов/символов в них

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

как будет выглядеть скрипт (или хотя бы алгоритм) на php, для сортировки строк по количеству слов или по количеству символов в них

K
На сайте с 31.05.2007
Offline
31
#1

Первый алгоритм, который приходит в голову. Это занести строки в такой массив Array("кл-во символов"=>"строка",...) А затем его сортировать по ключу.

H
На сайте с 21.12.2007
Offline
24
#2
занести строки в такой массив Array("кл-во символов"=>"строка",...)

а как будет выглядеть синтаксис такой операции ? (а то я php начал изучать недавно и стаким не сталкивался)

А затем его сортировать по ключу.

а если количество символов/слов совпадает ?

zmitrok
На сайте с 18.01.2008
Offline
50
#3

Первый вариант, который пришел в голову:


<?

$text = array("11", "111111111", "111111111", "1", "111111111", "111111111111111111111", "1111111", "1111111111", "111111111", "111111", "1111111111", "11111", "1111111111");

foreach ($text as $key=>$value) {
$temp_text[$key]["length"] = strlen($value);
$temp_text[$key]["text"] = $value;
}

sort($temp_text);

foreach ($temp_text as $key=>$value) {
$new_text[] = $value["text"];
}

print_r($new_text);

?>

Если нужно считать не символы, а слова, то вместо конструкции strlen($value) нужно разбить строку на слова используя функцию explode, и посчитать сколько кусков она отдаст...

D
На сайте с 11.03.2008
Offline
15
#4

Есть такая функция usort. Определяйте свой алгоритм сравнения и сортируйте по каким угодно параметрам.

zmitrok
На сайте с 18.01.2008
Offline
50
#5
Если нужно считать не символы, а слова, то вместо конструкции strlen($value) нужно разбить строку на слова используя функцию explode, и посчитать сколько кусков она отдаст...

хе-хе )) str_word_count

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