Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Секреты PHP-функций для работы с&nb p;массивами. Создание массивов

 

Секреты PHP-функций для работы с&nb p;массивами. Создание массивов

 

 

Основное назначение массивов — быстрая обработка данных. Часто разработчики программного обеспечения выполняют с их помощью сортирование информации, манипулирование исходными данными и получение различных выборок из наборов данных. Бытует мнение, что функциональность массивов гораздо проще организовать с помощью применения «толстой» прослойки SQL-кода и обращения к внешним приложениям типа специализированных хранилищ данных. Конечно, такой подход позволяет более просто реализовать элементарные вещи, но вас может ждать небольшое разочарование заказчика в плане быстродействия всего приложения. Представьте себе наиболее часто выполняемые задачи при выводе информации в аналитических системах предприятий — сортировка фамилий сотрудников, выбор товаров в каком-либо ценовом пределе, формирование списка категорий торговых менеджеров вашей организации, хранение оперативных данных о курсе валют.

загрузка...

 

 

Поскольку выполнение таких элементарных задач (обычно) требует наличия SQL-хранилищ исходной информации и обращения к базам данных, работоспособность и скорость ваших приложений часто зависят от надежности и быстродействия технологического решения SQL-хранилища. Действительно, в случае применения отказоустойчивой системы хранения данных, размещенной на нескольких серверах, использование хранилища данных типа MySQL представляет собой узкое звено всей системы. Представьте себе, что может произойти, если разнесенные рабочие места обращаются к единой информационной таблице с курсами валют, которую по какой-либо причине заблокировало другое неверно работающее приложение. Да и простое обращение сотен компьютеров к одной таблице может очень сильно повредить быстродействию всего процесса работы аналитической системы, написанной на основе использования единого SQL-хранилища данных.

Наверное, такие задачи встречаются в жизни среднего веб-разработчика достаточно редко, но и простое использование функций для работы с массивами в обычной «плоской» задаче очень часто позволяет увеличить быстродействие вашего приложения. Поскольку задачи увеличения скорости работы интерфейсов и обработки данных встречаются в программировании бизнес-логики сплошь и рядом, функции для работы с массивами применяются практически во всех мало-мальски известных языках программирования, которые используются при написании задач аналитического учета.

Зачем нужны массивы

В большинстве случае использование массивов предлагает удобный способ для хранения однородных данных. PHP не представляет собой исключение из общего подхода. В этом языке поддерживаются все основные функции по работе с массивами. Несколько отличающийся подход к доступу к данным заключается в наличии нескольких типов функций. Одни из них позволяют проводить достаточно привычные операции вроде сортировки данных. Другие — более сложные, предназначенные для работы с ассоциативными (построенными по принципу размещения данных не по нумерологическому, а по строковому представлению индекса данных) массивами. Также есть специализированная группа функций для выполнения сложных и не часто используемых операций вроде рекурсивного прохода по дереву значений многомерного массива. Конечно, наличие массы функций — положительная характеристика средства разработки, но, забегая наперед, могу сказать, что именно наличие функций для работы с ассоциативной информацией делает использование массивов столь излюбленным средством многочисленных разработчиков веб-приложений на PHP.

Категории функций

Поскольку количество используемых в языке функций для обработки данных в массивах достаточно велико и сама документация по PHP не предусматривает никакого деления их по типам, необходима какая-то система анализа всего этого многообразия. Такая классификация позволит новичку представить весь функционал подсистемы работы с таким типом данных, а профессионалу четко выделить необходимый в конкретный момент метод. Весь функционал по работе с массивами в PHP можно разбить на следующие основные категории:

  • создание массивов;
  • вывод данных;
  • тестирование наборов данных;
  • добавление и удаление элементов массивов;
  • поиск информации;
  • выполнение операций наложения (умножения) матриц с данными;
  • определение параметров набора;
  • сортировка;
  • объединение, выделение и разделение данных.

Создание массива

Что такое массив? Традиционно — это набор групп данных, имеющих одни и те же характеристики и объединенных в общность путем присвоения отдельным частям данных ключевых индексов, позволяющих найти требуемые данные. Почему я употребляю термин «традиционно»? Дело в том, что в массиве можно разместить и совершенно разнотипные данные, если это кому-то будет нужно. В PHP работа с массивами строится на основании следующего принципа, который обеспечивает прозрачность всех методов для доступа к данным. Итак, каждый элемент массива данных состоит из двух частей — значения и ключа, который идентифицирует местоположение значения. Сам по себе ключ может быть цифровым и представлять собой классический (цифровой) номер элемента массива. На приведенном ниже рисунке вы увидите, как выглядит объявление массива в коде. Назначение массива — хранение списка городов.

Создание массива в PHP. «Рокировка» индексов и значений

Упрощенный вариант создания массива

Использованная форма объявления массива называется расширенной. Таким образом, вы задаете при объявлении также и набор значений, который хранится в самом массиве. Причем указывается также и значение ключа. Если задать вопрос, зачем нужно задавать значение ключа, то достаточно рассмотреть приводимый ниже пример, который показывает случай создания массива без присвоения ключей, а только с определением значений. Если обратить внимание на значения ключей, то можно увидеть, что они начинаются с нуля.

Создание неассоциативного массива

Когда необходимы ассоциативные массивы

Использование ассоциативных массивов оправдано в том случае, если применение обычных массивов не имеет смысла. Такой вариант возможен, например, при построении среза данных о соответствии строкового названия валюты и ее курса на текущий момент в аналитической системе. В таком случае массив в виде RU=>0.67,USD=>5.03 имеет гораздо более понятное представление, чем, например, в виде 0=>0.67,1=>5.03. Конечно, можно возразить, что подобные задачи решаются применением реляционной базы, но зачем выполнять запросы к базе там, где это не нужно фактически. Действительно, гораздо проще выполнять инициализацию массива курсов валют, например, при создании PHP-класса, ответственного за обработку цен товаров, чем каждый раз включать в запрос данных из таблицы валют. Конечно, такая ситуация будет реальной, если курс валют фиксируется только на начало операционного дня. Однако даже такой пример показывает, что использование элементарного ассоциативного массива позволит ускорить критичную часть вашего кода.

Многомерные массивы

Массивы в PHP могут быть как плоскими (одномерными), так и содержащими другие массивы (то есть многомерными). Пример объявления многомерного массива, содержащего названия улиц и городов, приведен на следующем рисунке.

Многомерный массив

Ввод/вывод данных

Для доступа к данным различных типов массивов применяется синтаксическая конструкция языка, состоящая из квадратных скобок. К элементу ассоциативного массива можно обращаться только по значению ключа. Таким образом, попытка получить данные следующим способом: $towns_ua[0] — вернет пустое значение. Для обращения к данным многомерных массивов применяется выражение следующего вида: $towns_ua["Львов"]["Соборная"] — таким образом, например, удобно хранить почтовые индексы улиц в одном массиве данных. Существует также несколько необычный вид заполнения данных массива — без указания ключа вообще. На приведенном ниже рисунке видно, как можно заполнить массив несколькими значениями. Такая форма очень удобна для применения в именах переменных для веб-форм. Таким образом, просто назвав однотипные элементы онлайн-формы, например, как element[], можно ввести данные в массив (конечно, такой пример не учитывает современные требования безопасности и приводится только для демонстрации самой возможности).

Заполнение массива без применения ключей

Выводы

Массивы играют важную роль при создании онлайн-приложений. В языке веб-программирования применение массива позволяет намного увеличить быстродействие и повысить безопасность приложения за счет использования бездисковых операций и вообще меньшего количества обращений к внешним приложениям. В этой статье рассмотрены элементарные вопросы, все же необходимые для начала работы с массивами. Конечно же, в столь небольшом изложении трудно перечислить все возможности массивов, но некоторое представление про всю сложность и красоту реализации этого механизма можно получить даже на его основе.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Секреты PHP-функций для работы с&nb p;массивами. Создание массивов":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Яндекс и Google для работы, Рамблер по привычке, Yahoo для беклинков

В сентябре редакцией SEOnews было проведено социологическое исследование на тему «Приоритеты SEO-специалистов при выборе поисковиков». Отправной точкой в проведении данного исследования послужили результаты опроса компании Nielsen/NetRatings, выяснявшей, сколькими и какими поисковиками пользуется англоязычная аудитория. Цель нашего исследования - выяснение, какими поисковыми системами и почему предпочитают пользоваться русскоязычные SEO-специалисты.

» Продвижение и оптимизация - 2493 - читать


Как настроить почтовый клиент для работы с&nb p;GMail

Проблема в том, что обычные параметры настройки почтового клиента не совсем то, что нужно для работы с GMail. Однако для нас не важно, почему так сделано у них, а важно, что надо сделать у нас, чтобы все заработало. В принципе основных отличий в настройке только две: первая — в настройке протокола POP для приема почты, вторая — в настройке протокола SMTP для отправки почты.

» Интересное в сети - 2775 - читать


Секреты PHP-функций для работы с&nb p;массивами. Обработка данных и&nb p;сортировка

Итак, что же там с вашим менеджером, который был упомянут в анонсе статьи? Вы уже написали ту самую злополучную версию функции для перекодировки какого-то поля в XML-файле. Но вечером того же дня оказывается, что надо срочно поменять логику работы скрипта, который уже закачан на сервер, протестирован вашим инженерным составом и одобрен чуть ли не самим генеральным директором фирмы.

» Интересное в сети - 2162 - читать


Медикаменты, необходимые для работы в перевязочной

В перевязочной должен быть большой выбор антисептиков и других медикаментов. Борная кислота. Используют 2-4%-ный раствор для промывания ран.

» Физиотерапия - 3408 - читать


Аналитики продают «Вимм-Билль-Данн. Для работы на Западе ему придётся войти в альянс с крупной компанией

UBS обнародовал перечень компаний, которые могут быть проданы в следующем году. По прогнозам экспертов швейцарского инвестиционного банка, потенциальный объект поглощения в России — это ОАО « Вимм-Билль-Данн».

» Управление и менеджмент - 1908 - читать



Статья на тему Интернет » Интересное в сети » Секреты PHP-функций для работы с&nb p;массивами. Создание массивов

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru