
Один из самых используемых инструментов в языке PHP — это массивы. Поэтому, важно не только знать что такое массив, но и уметь правильно пользоваться тем разнообразием функций, которые предлагает PHP при обработке массивов.
Прежде чем перейти к основной теме статьи хочется дать один простой, но очень важный совет всем начинающим веб-программистам. (Этот совет настолько важен, что я даже позволил себе нарушить порядок изложения материала).
Если Вы программируете на PHP и у Вас появилась необходимость обработать данные сохраненные в массиве. Прежде чем писать собственную функцию обработки, проверьте что Ваша задача точно не может быть решена стандартными функциями PHP.
Помните, для действительно важных и часто встречающихся задач при обработке массивов существуют готовые функции и конструкции языка, которые созданы с единственной целью — максимально ускорить работу скриптов.
Вероятность того, что Ваша задача уникальна и требует особого решения крайне мала. Даже если задача не решается с помощью одной функции, постарайтесь разбить ее на несколько более простых частей и использовать готовые функции PHP.
Теперь, после того, как мы уяснили важность использования стандартных функций PHP для обработки массивов давайте вернемся к теме статьи.
Что такое массив?
Так как эта статья рассчитана на новичков, то и начать стоит с определения того, чем же все-таки является массив. Вот мое вольное определение массива:
Массив — это переменная содержащая набор различных значений, доступных по уникальному индексу (индекс элемента массива).
Как в PHP создать массив
В PHP массив создается с помощью служебного слова
array(). Существуют два варианта создания массива — это создание «пустого» массив и массива с предопределенными величинами:
$emptyArr = array(); // «пустой» массив
$someArr = array( 1, 2, 'Москва' ); // массив состоящий из элементов чисел «1», «2» и слова «Москва»;
В данном пример хотелось бы обратить внимание, на несколько вещей:
Во-первых, переменные, содержащиеся в массиве, могут быть разных типов. Так в массиве $someArr содержатся две целочисленные переменные и одна строковая.
Во-вторых, в приведенном определении массива, говорилось о том, что каждый элемент должен иметь уникальный индекс, а в примере этих индексов не видно.
Все дело в том, что в случае если при создании массива индексы не указаны явно, они будут созданы автоматически. Каждому элементу будет сопоставлен индекс вычисленный по следующей формуле:
«индекс» = «порядковый номер элемента» — 1
Конечно, если нас не устраивает, то каким образом PHP расставляет индексы массивов, мы можем определить их самостоятельно:
$someArr = array( 100 => 1, 200 => 2, 'city' => 'Москва' );
В данном примере числу «1» сопоставлен индекс «100», числу «2» индекс «200», а слову «Москва» сопоставлен строковый индекс «city».
Таким образом, мы приходим к третьему выводу о том, что в PHP индексами массива могут быть не только целые числа, но и строковые значения.
Как получить элемент массива в PHP?
Удобство массива заключается в том, что с ним можно работать как с обычной переменной — т.е. передавать в функцию, присваивать одному массиву другой и т.д. Но рано или поздно встает задача получить один конкретный элемент массива. Тогда нужно использовать следующий синтаксис:
$someArr = array(1, 2, 'Москва');
echo $someArr[2]; // Москва
echo $someArr[1]; // 2
В примере я не стал присваивать собственный индекс каждому элементу, а ограничился теми индексами которые создал PHP.
Теперь, что делать если нам нужно получить все элементы массива? Для этого в PHP есть специальная конструкция
foreach.
Конструкция FOREACH
Как было сказано ранее, при работе с массивами в PHP лучше использовать стандартные функции и конструкциии языка, а не придумывать велосипед. Поэтому давайте познакомимся поближе с наиболее часто используемой конструкцией —
foreach:
$someArr = array( 1, 2, 'Москва');
foreach($someArr as $index => $value) {
echo 'Индекс элемента массива = '. $index .', значение = '.$value; // выводит на экран значения всех переменных массива.
}
Как видите, все просто, сначала мы указываем имя конструкции — «
foreach», затем в параметрах конструкции указываем имя массива, который нужно «перебрать» — «
$someArr», а затем с помощью служебного слова «
as», указываем какое какое имя будет у переменной содержащей индекс элемента массива — «
$index» и значение элемента массива —
$value.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.