Сейчас на сайте:
Пользователей: 0
Отсутствуют.
Роботов: 2
Yandex, Googlebot
Гостей: 84
Всех: 86
ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
Информация к новости
- Просмотров: 2089
- Автор: КазКиберГетик
Трёхмерный массив и сортировка
Категория: WEB-программирование » PHP и MySQL » Уроки PHP
После небольшого перерыва мы возобновляем написание новых статей о php, и продолжаем начатую ранее тему - изучение массивов. Сегодня мы коснёмся трёхмерного массива. Помимо высоты и ширины, как в двумерном, он ещё имеет и глубину, т.е. третьим измерением его является глубина. Наглядным примером трёхмерного массива в жизни может служить любой объёмный предмет, например книга. У неё есть ширина страницы, её длина, а так же глубина, т.е. количество страниц.
Ссылка на каждый элемент такого массива будет осуществляться по его слою, строке и столбцу. Таким образом, можно сказать, что трёхмерный массив - это массив, содержащий массив массивов. Ниже приведён код, показывающий реализацию трёхмерного массива на нашем примере:
Для сортировки используется функция sort(), позволяющая отсортировать массив в алфавитном порядке, например:
Значения можно упорядочивать также в цифровом порядке:
Если сортировку нужно выполнить не по ценам, а по описаниям, следует использовать функцию ksort(), которая выполняет сортировку по ключам. Следующий код приведёт к упорядочиванию ключей массива в алфавитном порядке:
Источник: web-brodilka.ru
Ссылка на каждый элемент такого массива будет осуществляться по его слою, строке и столбцу. Таким образом, можно сказать, что трёхмерный массив - это массив, содержащий массив массивов. Ниже приведён код, показывающий реализацию трёхмерного массива на нашем примере:
$mass3mern = array( array( array( "CDR", "CDR-диски", 100),
array( "CDRW", "CDRW-диски", 10),
array( "FUT", "Футляры", 4)
),
array( array( "CDR", "CDR-диски", 100),
array( "CDRW", "CDRW-диски", 10),
array( "FUT", "Футляры", 4)
),
array( array( "CDR", "CDR-диски", 100),
array( "CDRW", "CDRW-диски", 10),
array( "FUT", "Футляры", 4)
)
);
По данному шаблону, Вы можете создавать четырёх-, пяти-, двадцатимерные массивы. Всё зависит от Вашей фантазии и потребности. Хочу только добавить, что если будете использовать массив более 3-ей размерности, то будет очень тяжело: запутаться в таком количестве операторов не составит труда. Но думаю, что на практике, более третьей размерности, Вам массив не понадобится.
Сортировка массивов
Сортировка массива это довольно часто встречающаяся задача. К примеру, Вы пишете обработчик какой-либо формы заказа, использующей массив. И Вам необходимо посмотреть, какой же следующий по порядку был сделан заказ, чтобы его обработать. Если записей не много, то это ещё не проблема, а если их десятки? Сотни? Время - деньги, поэтому существует очень полезная штука в php - сортировка.Для сортировки используется функция sort(), позволяющая отсортировать массив в алфавитном порядке, например:
$products = array( "CDR-диски", "CDRW-диски", "Футляры" ); sort($products);Теперь элементы массива будут отсортированы в алфавитном порядке.
Значения можно упорядочивать также в цифровом порядке:
$prices = array(100,10,4); sort($prices);Для хранения информации о товарах и ценах используется ассоциативный массив, для которого функции сортировки немного другие. В следующем примере, создаётся ассоциативный массив, содержащий три товара и связанные с ними цены, а затем сортирует массив в порядке увеличения цен :
$prices = array("CDR-диски"=>100, "CDRW-диски"=>10, "Футляры"=>4);
asort($prices);
Как Вы могли заметить, здесь используется функция asort(), которая упорядочивает массив в соответствии со значениями элементов. В данном массиве значения - это цены, а ключи - текстовые описания.Если сортировку нужно выполнить не по ценам, а по описаниям, следует использовать функцию ksort(), которая выполняет сортировку по ключам. Следующий код приведёт к упорядочиванию ключей массива в алфавитном порядке:
$prices = array("CDR-диски"=>100, "CDRW-диски"=>10, "Футляры"=>4);
ksort($prices);
Сортировка массивов в обратном порядке
Для сортировки массива в обратном порядке существуют другие функции, очень похожие на те, с которыми мы работали. Это:- rsort() - сортировка одномерного численно-индексированного массива в порядке убывания;
- arsort()- сортировка одномерного ассоциативного массива в порядке убывания значений элементов;
- ksort() - сортировка одномерного ассоциативного массива в порядке убывания значений ключей элементов.
Другие манипуляции с массивом
Вкратце расскажу, что ещё можно делать с массивами. При создании нового массива текущий указатель инициализируется так, чтобы указывать на первый элемент массива. Вызов функции current( $array name) возвращает первый элемент. Вызов функции each() или next() перемещает указатель вперёд на один элемент. Функция reset() возвращает указатель на первый элемент массива. Для перемещения в массиве в обратном направлении можно воспользоваться функциями end() и prev(). Иногда требуется выполнить одинаковые действия, по отношению ко всем элементам массива или изменять их одинаковым образом. Делать это позволяет функция array_walk:int array_walk(array arr, string func, [mixed userdata])
Источник: web-brodilka.ru
Вернуться
Комментариев: 0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




