7. Лекция: Работа с массивами данных » Лекции по PHP » Библиотека » WAP.ZUGDIDI.US
Привет прохожий!
На главную | Вход | Регистрация

7. Лекция: Работа с массивами данных

аналог, не изменяющий значения ключей, – функция uasort().

Допустим, у нас есть массив, содержащий такие сведения о литературных произведениях, как название, автор и год создания. Мы хотим упорядочить книги по дате создания.
<?php
// массив выглядит таким образом:
$books = array(
"Герой нашего времени" => array ("Лермонтов", 1840),
"Руслан и Людмила" => array("Пушкин",1820),
"Война и мир" => array ("Толстой",1863),
"Идиот" => array("Достоевский",1868));
/* можно, конечно переписать этот массив
по-другому, сделав год издания, например, индексом,
но гораздо удобнее написать свою функцию для сортировки */
uasort($books, "cmp"); // сортируем массив с помощью функции cmp
foreach ($books as $key => $book) echo "$book[0]: \"$key\"<br>";
// функция, определяющая способ сортировки
function cmp($a, $b)
{
if ($a[1] < $b[1]) return -1;
elseif ($a[1]==$b[1]) return 0;
else return 1;
}
?>

В результате получим:
Пушкин: "Руслан и Людмила"
Лермонтов: "Герой нашего времени"
Толстой: "Война и мир"
Достоевский: "Идиот"

Мы применили нашу собственную функцию сортировки ко всем элементам массива. Далее рассмотрим, как применить к элементам массива любую другую пользовательскую функцию.
Применение функции ко всем элементам массива

Функция array_walk(массив, функция [, данные]) применяет созданную пользователем функцию функция ко всем элементам массива массив и возвращает true в случае успешного выполнения операции и false – в противном случае.

Пользовательская функция, как правило, имеет два аргумента, в которые поочередно передаются значение и ключ каждого элемента массива. Но если при вызове функции array_walk() указан третий аргумент, то он будет рассмотрен как значение третьего аргумента пользовательской функции, смысл которого определяет сам пользователь. Если функция пользователя требует больше аргументов, чем в нее передано, то при каждом вызове array_walk() будет выдаваться

Страницы:
<< 1 2 3 .. 6 >>

Перейти к странице:

Комментарии (0)
Скачать Java книгу

» Лекции по PHP
» WEB/WAP мастеру
» В библиотеку

На главную
WAP.ZUGDIDI.US
Соглашение о Предоставлении Услуг

li WAPSTART

Cжатие 64.1%