boolean array_multisort(array data, integer direction, .)
Функция array_multisort (листинг 11.32) одновременно сортирует массивы, как если бы это были столбцы одной таблицы. Аргумент data представляет собой массив, а аргумент direction является одной из двух констант, SORT_ASC или SORT_DESC, что соответствует сортировке по возрастанию и убыванию соответственно. По умолчанию принимается сортировка по возрастанию. Кроме того, можно задавать любое количество массивов, но при этом можно менять порядок сортировки в нужном порядке для каждого массива в отдельности. Функция array_multisort аналогична сортировке результатов работы оператора объединения реляционной базой данных. Первые элементы массивов объединяются в виртуальную строку, и все элементы этой строки перемещаются вместе. Массивы сортируются по первому массиву. В случае повторения значений в первом массиве строки будут отсортированы по второй строке.
| Листинг 11.32. Функция array_multisort_
<?php
//создать данные
$color = array("green", "green", "blue", "white", "white"); $item = array("dish soap", "hand soap", "dish soap", "towel",
"towel");
$dept = array("kitchen", "bathroom", "kitchen", "kitchen",
"bathroom"); $price = array(2.50, 2.25, 2.55, 1.75, 3.00); //отсортировать по отделу, названию товара, цвету, цене array_multisort($dept, SORT_ASC, $item, SORT_ASC,
$color, SORT_ASC, $price, SORT_DESC);
//распечатать отсортированный список for($i=0; $i < count($item); $i++)
{
print("$dept[$i] $item[$i] $color[$i] $price[$i]<br>n");
}
?>
array array_pad(array data, integer size, value padding)
Функция array_pad (листинг 11.33) добавляет элементы в массив до тех пор, пока не будет достигнуто количество элементов, заданных аргументом size. Если массив уже имеет достаточный размер, элементы больше не добавляются. В противном случае аргумент padding предназначен для заполнения новых элементов. Если аргумент size является положительным, padding добавляется в конец массива. Если аргумент size является отрицательным, padding добавляется в начало массива.
j Листинг 11.33. Функция array_pad_
<?php
// создать тестовые данные
$data = array(1,2,3);
//добавить "start" в начало массива
$data = array_pad($data, -4, "start");
// добавить "end" в конец массива
print_r(array_pad($data, 6, "end"));
?>
value array_pop(array stack)
Функция array_pop (листинг 11.34) возвращает последний элемент массива, удаляя его из массива. Ее дополняет функция array_push, а функции array_shift и array_unshift удаляют элементы из начала массива.
j Листинг 11.34. Функция array_pop, array_push_
<?php
// создать массив названий цветов $colors = array("red", "blue", "green"); $lastColor = array_pop($colors); // напечатать "green" print($lastColor . "n");
//показывает, что массив colors содержит red, blue print_r($colors);
//записать в стек еще два значения array_push($colors, "purple", "yellow");
// показывает, что массив colors содержит red, blue, purple, yellow
print_r($colors);
?>
boolean array_push(array stack, expression entry, ...)
Функция array_push добавляет одно или несколько значений в конец массива. Она рассматривает массив как стек. Функцией array_pop можно воспользоваться для удаления элементов из стека. Функции array_shift и array_unshift предназначены для добавления и удаления элементов из массива.
array array_rand(array data, integer quantity)
Функция array_rand (листинг 11.35) возвращает количество произвольно выбранных индексов из массива. Необязательный элемент quantity имеет значение по умолчанию, равное единице, и в этом случае функция возвращает один индекс. В противном случае функция возвращает массив индексов.
| Листинг 11.35. Функция array_rand_
<?php
// задать массив наименований цветов
$colors = array("red", "blue", "green");
//запустить генератор случайных чисел
srand(time());
// выбрать один цвет
print($colors[array_rand($colors)] . "n"); // выбрать два цвета print_r(array_rand($colors, 2));
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Данные. Часть Седьмая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Данные. Часть Шестая. | PHP. Данные. Часть Восьмая. |