Справочник по PHP - [9]

Шрифт
Интервал

в противном случае.

Пример использования функции ksort():

>

>$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

>ksort($fruits);

>reset($fruits);

>while (list($key, $val) = each($fruits)) {

> echo "$key = $valn";

>}

?>

Данный пример выведет:

a = orangeb = bananac = appled = lemon

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3, PHP 4, PHP 5


krsort


Сортировка массива по убыванию индексов.

Синтаксис:

bool krsort(array arr [, int sort_flags])

Функция krsort() сортирует ключи в массиве arr в обратном порядке. При этом связка ключей и значений сохраняется. Эта функци полезна при сортировке ассоциативных массивов.

Функция возвращает true в случае успешного завершения, и false в противном случае.

Пример использования функции krsort():

>

>$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

>krsort($fruits);

>reset($fruits);

>while (list($key, $val) = each($fruits)) {

> echo "$key = $valn";

>}

?>

Данный пример выведет:

d = lemonc = appleb = bananaa = orange

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3 = 3.0.13, PHP 4, PHP 5


natsort


Выполняет "естественную" сортировку массива.

Синтаксис:

void natsort(array arr)

Функция natsort() сортирует массив arr в естественном для человека порядке с сохранением индексных ассициаций.

Пример использования функции natsort():

>

>$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");


>sort($array1);

>echo "Стандартная сортировкаn";

>print_r($array1);


>natsort($array2);

>echo "nЕстественная сортировкаn";

>print_r($array2);

?>

Этот пример выведет следующее:

Стандартная сортировкаArray( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png)Естественная сортировкаArray( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png)

Функция поддерживается PHP 4, PHP 5


natcasesort


Выполняет естественную сортировку массива без учета регистра символов.

Синтаксис:

void natcasesort(array arr)

Функция natcasesort() сортирует массив arr в естественном для человека порядке с сохранением индексных ассициаций.

Эта функция схожа с natsort(), только не учитывает регистр символов.

Пример использования функции natcasesort():

>

>$array1 = $array2 = array("IMG0.png", "img12.png", "img10.png",

> "img2.png", "img1.png", "IMG3.png");


>sort($array1);

>echo "Стандартная сортировкаn";

>print_r($array1);


>natcasesort($array2);

>echo "nЕстественная сортировка (без учета регистра)n";

>print_r($array2);

?>

Приведенный пример выведет следующее:

Стандартная сортировкаArray( [0] => IMG0.png [1] => IMG3.png [2] => img1.png [3] => img10.png [4] => img12.png [5] => img2.png)Естественная сортировка (без учета регистра)Array( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png)

Функция поддерживается PHP 4, PHP 5


uasort


Пользовательская сортировка ассоциативного массива с сохранением индексных ассоциаций.

Синтаксис:

bool uasort(array arr, function cmp_function)

Функция uasort() сортирует массив arr с сохранением индексных ассоциаций, используя для сравнения индексов элементов пользовательскую функцию, указанную аргументом cmp_function.

Эта функция используется главным образом когда соответствие индексов и значений массива существенно.

Функция uasort() возвращает true в случае успешного завершения сортировки, и false в противном случае.

Замечание: Смотрите функции usort() и uksort() для написания пользовательской функции.

Функция поддерживается PHP 3 =3.0.4, PHP 4, PHP 5


uksort


Пользовательская сортировка массива по ключам.

Синтаксис:

bool uksort(array arr, function cmp_function)

Функция uksort() сортирует массив arr по индексам с сохранением индексных ассоциаций, используя для сравнения индексов элементов пользовательскую функцию, указанную в аргументе cmp_function. В эту функцию передаются два сравниваемых индекса элементов, а она должна вернуть положительное или отрицательное число или 0.

Функция uksort() возвращает true в случае успешного завершения сортировки, и FALSE в противном случае.

Довольно часто нам приходится сортировать что-то по более сложному критерию, чем просто по алфавиту. Например, пусть в $Files храниться список имен файлов и подкаталогов в текущем каталоге. Возможно, мы захотим вывести этот список не только в лексографическом порядке, но также чтобы все каталоги предшествовали файлам. В этом случае нам стоит воспользоваться функцией uksort(), написав предварительно функцию сравнения с двумя параметрами, как того требует uksort().

1 пример использования функции uksort():

>// Эта функция должна сравнивать значения $f1 и $f2 и возвращать:

>// -1, если $f1<$f2,

>// 0, если $f1==$f2

>// 1, если $f1>$f2

>// Под < и > понимаем следование этих имен в выводимом списке

>function FCmp($f1,$f2)

>{ // Каталог всегда предшествует файлу

> if(is_dir($f1) && !is_dir($f2)) return -1;

> // Файл всегда идет после каталога

> if(!is_dir($f1) && is_dir($f2)) return 1;

> // Иначе сравниваем лексиграфически

> if($f1<$f2) return -1; elseif($f1>$f2) return 1; else return 0;


Еще от автора Неизвестный Автор
Галчонок

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


Призраки ночи

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


Закат  вечности

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


mmmavro.org | День 131, Победа

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


mmmavro.org | День 132, Поэт

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


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Рекомендуем почитать
Краткие тезисы по режиссуре кино

Некоторые тезисы из учебника Андрея Ангелова «Практическая режиссура кино». Народный бестселлер, и он же лонгселлер XXI века. Первый гениальный киноучебник не только в РФ, но и в мире…


Библиографический указатель трудов сотрудников Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА

Указатель содержит список печатных трудов, опубликованных сотрудниками Донецкой овражной лесной опытной станции и Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА. В списке приведено 340 наименований книг, монографий, брошюр, статей, тезисов докладов, нормативных материалов, указаний, буклетов, информационных листков. К списку прилагается авторский указатель.


Лауреаты российских литературных премий

В современной России дело с литературными премиями обстоит не очень хорошо. Вернее, они существуют, но не несут требуемого от них определяющего значения. Каждая из них — своё собственное направление, выбирающее литературу по заранее заданным условиям. Поэтому, дабы помочь читателю ориентироваться в мире российских литературных премий, выпущено данное издание. Первоначально взяты для рассмотрения лауреаты следующих премий: Русский Букер, Национальный бестселлер, Ясная поляна, Большая книга и НОС.


А. Куприн

Куприн не оставил крупных произведений, предпочитая форму рассказа, изредка позволяя ей перерасти до размера повести. В каждой работе Александр напоминал о своём присутствии, становясь для читателя приятным собеседником, направляющим ход мысли в требуемую ему сторону. Уже этим он достоин прозываться классиком русской литературы, насколько бы ни принижал созданное им наследие. Куприн выделялся из многих прозаиков честностью и стремлением показать человеческое желание жить в чуточку лучшем мире.



The Question. Самые странные вопросы обо всем

– Бывают ли крокодилы добрыми? – Кто на самом деле победил на выборах президента в 1996 году? – Может ли в мозгу закончиться место для памяти? – Почему в пупках возникают катышки? – Каково было учиться в советской школе? Эти и другие вопросы задавали пользователи сервиса The Question, а мы в течение последнего года каждый день искали тех, кто даст ответы. В этой книжке 297 самых странных вопроса. Мы не гарантируем, что вы станете умнее, если прочитаете ответы на них, но, по крайней мере, о потраченном времени вы не пожалеете. Книга может вызывать острые приступы любопытства.