Справочник по PHP - [10]
>}
>// Пусть $Files содержит массив с ключами - именами файлов
>// в текущем каталоге. Отсортируем его.
>uksort($Files,"FCmp"); //передаем функцию сортировки "по ссылке"
2 пример использования функции uksort():
>
>function cmp($a, $b)
>{
> if ($a == $b) {
> return 0;
> }
> return ($a > $b) ? -1 : 1;
>}
>$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
>uksort($a, "cmp");
>while (list($key, $value) = each($a)) {
> echo "$key: $valuen";
>}
?>
Этот пример выведет:
20: twenty10: ten4: four3: three
Функция поддерживается PHP 3 =3.0.4, PHP 4, PHP 5
usort
Пользоваетльская сортировка значений массива.
Синтаксис:
bool usort(array arr, callback cmp_function)
Функция usort() сортирует массив arr без сохраненя индексных ассоциаций, используя для сравнения значений пользовательскую функцию, указанную в аргументе cmp_function. В эту функцию передаются два сравниваемых индекса элементов, а она должна вернуть положительное или отрицательное число или 0.
Эта функция как бы является "гибридом" функций uasort() и sort(). От sort() она отличается тем, что критерий сравнения обеспечивается пользовательской функцией. А от uasort() - тем, что она не сохраняет связей между ключами и значениями, а потому пригодна разве что для сортировки списков.
Пример использования функции usort():
>
>function cmp($a, $b)
>{
> if ($a == $b) {
> return 0;
> }
> return ($a < $b) ? -1 : 1;
>}
>$a = array(3, 2, 5, 6, 1);
>usort($a, "cmp");
>while (list($key, $value) = each($a)) {
> echo "$key: $valuen";
>}
?>
Пример одномерного массива:
>function cmp($a, $b) {
> if($a==$b) return 0;
> return ($a > $b) ? -1 : 1;
>}
>$a=array (3,2,5,6,1);
>usort($a, "cmp");
>while(list($key,$val)=each($a)) {
> echo "$key: $valn";
>}
При выполнении будет напечатано:
0: 61: 52: 33: 24: 1
Пример многомерного массива:
>function cmp($a,$b) {
> return strcmp($a["fruit"],$b["fruit"]);
>};
>$fruit[0]["fruit"]="lemons";
>$fruit[1]["fruit"]="apples";
>$fruit[2]["fruit"]="grapes";
>usort($fruit, "cmp");
>while(list($key,$val)=each($fruit)) {
> echo "$fruit[$key]:".$val["fruit"]."n";
>}
При сортировке многомерных массивов $a и $b содержит ссылки на первый индекс массива.
Будет напечатано:
$fruit[0]: apples$fruit[1]: grapes$fruit[2]: lemons
Если необходимо отсортировать массив с различными вторыми ключами, можно поступить следующим образом:
>
>function arr_sort($a,$b) {
> list($key1,$val)=each($a);
> list($key2,$val)=each($b);
> return strcmp($a[$key1],$b[$key2]);
>};
>$arr[0]["1-ый элемент"]="яблока";
>$arr[1]["2-ый элемент"]="груша";
>$arr[2]["3-ый элемент"]="персик";
>$arr[3]["4-ый элемент"]="дыня";
>$arr[4]["5-ый элемент"]="малина";
>$arr[5]["6-ый элемент"]="ананас";
>usort($arr,"arr_sort");
>echo "
";
>print_r($arr);
>echo "";
?>
Приведенный скрипт выведет следующее:
Array( [0] => Array ( [6-ый элемент] => ананас ) [1] => Array ( [2-ый элемент] => груша ) [2] => Array ( [4-ый элемент] => дыня ) [3] => Array ( [5-ый элемент] => малина ) [4] => Array ( [3-ый элемент] => персик ) [5] => Array ( [1-ый элемент] => яблока ))
Функция поддерживается PHP 3 =3.0.3, PHP 4, PHP 5
array_multisort
Сортировка нескольких массивов или многомерного массива.
Синтаксис:
bool array_multisort(array ar1, [, mixed arg [, mixed ... [, array ...]]])
Функция array_multisort() сортирует сразу несколько массивов или многомерные массивы с сохранением индексной ассоциации, возвращая true при отсутствии ошибок.
Исходные массивы рассматриваются как столбцы таблицы, сортируемой построчно. Поэтому массивы должны иметь одинаковое число элементов, и взаимосвязь между ними, как в строках таблицы, сохраняется. Приоритетом сортировки пользуются первые массивы. Флаги сортировки могут указваться для каждого массива, и их действие распространяется только на тот массив, после которого они указаны.
Флаги определения порядка сортировки:
Флаги типа сортировки:
Уазание несколько флагов сортировки после одного массива недопустимо. Флаги сортировки, которые переются после аргумента arr применяются только к этому аргументу. Если после следующего аргумента флаги не указаны, то принимаются флаги по умолчанию (SORT_ASC, SORT_REGULAR).
Пример использования функции array_multisort():
Сортировка нескольких массивов
>ar1 = array("10", 100, 100, "a");
>ar2 = array(1, 3, "2", 1);
>array_multisort($ar1, $ar2);
> // $ar1 = array("10", "a", 100, 100);
> // $ar2 = array(1, 1, "2", 3);
Элементы второго массива, соответствующие одинаковым элементам (100 и 100) первого массива, также отсортированны.
Сортировка многомерного массива
>$ar = array(array("10", 100, 100, "a"), array(1, 3, "2", 1));
>array_multisort($ar[0], SORT_ASC, SORT_STRING,
> $ar[1], $SORT_NUMERIC, SORT_DESC);
>// $ar[0] = ("10", 100, 100, "a") - сортируются как строки по возрастанию
>// $ar[1] = (1, 3, "2", 1) - сортируются как числа по убыванию
Функция поддерживается PHP 4, PHP 5
Курсор массива
reset
Производит сброс курсора массива.
Синтаксис:
mixed reset(array arr)
Функция reset() устанавливает внутренний курсор массива arr на его начало и возвращает значение начального элемента.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.
Некоторые тезисы из учебника Андрея Ангелова «Практическая режиссура кино». Народный бестселлер, и он же лонгселлер XXI века. Первый гениальный киноучебник не только в РФ, но и в мире…
Указатель содержит список печатных трудов, опубликованных сотрудниками Донецкой овражной лесной опытной станции и Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА. В списке приведено 340 наименований книг, монографий, брошюр, статей, тезисов докладов, нормативных материалов, указаний, буклетов, информационных листков. К списку прилагается авторский указатель.
В современной России дело с литературными премиями обстоит не очень хорошо. Вернее, они существуют, но не несут требуемого от них определяющего значения. Каждая из них — своё собственное направление, выбирающее литературу по заранее заданным условиям. Поэтому, дабы помочь читателю ориентироваться в мире российских литературных премий, выпущено данное издание. Первоначально взяты для рассмотрения лауреаты следующих премий: Русский Букер, Национальный бестселлер, Ясная поляна, Большая книга и НОС.
Куприн не оставил крупных произведений, предпочитая форму рассказа, изредка позволяя ей перерасти до размера повести. В каждой работе Александр напоминал о своём присутствии, становясь для читателя приятным собеседником, направляющим ход мысли в требуемую ему сторону. Уже этим он достоин прозываться классиком русской литературы, насколько бы ни принижал созданное им наследие. Куприн выделялся из многих прозаиков честностью и стремлением показать человеческое желание жить в чуточку лучшем мире.
– Бывают ли крокодилы добрыми? – Кто на самом деле победил на выборах президента в 1996 году? – Может ли в мозгу закончиться место для памяти? – Почему в пупках возникают катышки? – Каково было учиться в советской школе? Эти и другие вопросы задавали пользователи сервиса The Question, а мы в течение последнего года каждый день искали тех, кто даст ответы. В этой книжке 297 самых странных вопроса. Мы не гарантируем, что вы станете умнее, если прочитаете ответы на них, но, по крайней мере, о потраченном времени вы не пожалеете. Книга может вызывать острые приступы любопытства.