Статьи PHP, Форум, Уроки PHP, дизайн, раскрутка сайта
Портал для программистов, дизайнеров, SEO - оптимизаторов.
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
TIGER ICQ 3 6 0 2 9 5 6 8 3
     
Выберите раздел
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

Поиск
 
 
 

Друзья сайта
 
 
1. www.bvisoft.com
Онлайн счетчик
 

Статистика
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
--------------------------------------
  Прочитано статей: 405
  Всего прочтений: 211178
--------------------------------------
  Сейчас читают: 2 чел.

Кнопка сайта
  Если мой сайт вам чем-то помог, поставьте, пожалуйста, на своем сайте такую кнопку:
 
  Код кнопки:
 

 

Трёхмерный массив и сортировка [Версия для печати]
Разместил: admin . Раздел: Общие. Опубликовано: 09-20-2007 20:04:05


После небольшого перерыва мы возобновляем написание новых статей о php, и продолжаем начатую ранее тему - изучение массивов. Сегодня мы коснёмся трёхмерного массива. Помимо высоты и ширины, как в двумерном, он ещё имеет и глубину, т.е. третьим измерением его является глубина. Наглядным примером трёхмерного массива в жизни может служить любой объёмный предмет, например книга. У неё есть ширина страницы, её длина, а так же глубина, т.е. количество страниц.

Ссылка на каждый элемент такого массива будет осуществляться по его слою, строке и столбцу. Таким образом, можно сказать, что трёхмерный массив - это массив, содержащий массив массивов. Ниже приведён код, показывающий реализацию трёхмерного массива на нашем примере: $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])
Источник: http://web-brodilka.ru   Прочитана 1042 раз.
  Закладки:  
     
     
     




     
   TIGER EMAIL tiger1989@mail.ru
online SpyLOG тИЦ и PR
Copyright 2007 by TIGERCMS.com
Powered by TIGER-News v1.1
Реклама: