ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

Разработка отдельных фрагментов сайтов, консультации по вопросам верстки веб-страниц и веб-программирования.

Численно-индексированные массивы

Численно-индексированные массивы

Численно-индексированные массивы поддерживаются в большинстве языков программирования. По умолчанию в РНР индексы начинаются с нуля, хотя это можно изменить.

Инициализация численно-индексированных массивов

Товары компании АВС

Для создания массива показанного на рисунке, воспользуемся следующей строкой кода:

$products = array ('Фильтры масляные', 'Фильтры воздушные', 'Свечи зажигания');

В результате создается массив $products, содержащий тризаданных значения: 'Фильтры масляные', 'Фильтры воздушные', 'Свечи зажигания'. Обратите внимание, что подобно echo, array() в действительности является языковой конструкцией, а не функцией.

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

Если в массиве храняться данные, которые нужны в другом массиве, можно просто скопировать один массив вдругой с помощью операции =.

Если в массиве необходимо хранить возрастающую последовательность чисел, для автоматического создания такого массива можно воспользоваться функцией range (). Следующая строка кода создает массив $numbers, содержащий элементы, которые представляют собой числа от 1 до 10:

$numbers = range (1,10);

Функция range () может также принимать необязательный третий параметр, который позволяет установить шаг между значениями. Например, если необходимо получить массив нечетных чисел от 1 до 10, следует воспользоваться таким кодом:

$odds = range (1, 10, 2);

Функцию range() можно использовать и для символов:

$lettrs = range ('a', 'z');

Если информация хранится в дисковом файле, содержимое массива можно загрузить непосредственно из файла. Этот процесс будет рассмотрен в разделе "Загрузка массивов из файлов".

Если данные для вашего массива хранятся в базе данных, вы можете загрузить содержимое массива непосредственно из базы данных.

Можно также использовать различные функции для извлечения части массива или изменения порядка следования его элементов. Некоторые из этих функций будут рассмотрены далее.

Доступ к содержимому массива

Для доступа к содержимому переменной используйте ее имя. Если переменная является массивом, доступ к ее содержимому осуществляется через имя переменной и ключ, или индекс. Ключ, или индекс, указывает, к каким значениям, хранящимся в массиве, осуществляется доступ. Индекс задается в квадратных скобках после имени.

Например, чтобы использовать содержимое массива $products, необходимо ввести: $products [0], $products [1] и $products [2].

По умолчанию нулевой элемент является первым элементом массива. Эта же схема используется и в других языках программирования. Подобно другим переменным, содержимое массива изменяется с помощью операции =. Так, следующая строка заменяет первый элемент массива 'Фильтр маслянный' элементом 'Предохранители'.

$products [0] = 'Предохранители ';

Для отображения содержимого массива можно ввести такой оператор:

echo "$products [0] $products [1] $products [2] $products [3] ";

Обратите внимание на то, что синтаксис строк РНР довольно сложный, поэтому вы вполне можете запутаться с ним. Если вам приходится сталкиваться с неправильной интерпретациеей массивов или других переменных, когда включены в строку с двойными кавычками, можете вынести их за пределы кавычек. Предыдущий оператор echo будет работать правильно, а далее, в более сложных примерах, вы увидите, что используемые в них переменные вынесены за пределы строк в кавычки.

Подобно другим переменным РНР, массивы не нужно инициализировать или создавать заранее. Они автоматически создаются при первом их использовании.

Следующий код создает этот же массив $products, но без помощи array ():

$products [0] = 'Фильтры маслянные';

$products [1] = 'Фильтры воздушные';

$products [2] = 'Свечи зажигания';

Если массив $products еще существует, первая строка создает новый массив с только одним элементом. Последующие строки добавляют значения в массив. По мере добавления новых элементов размер массива соответствующим образом увеличивается.

Использование циклов для доступа к массиву

Поскольку массив индексируется последовательными номерами, для упрощения отображения его содержимого можно использовать цикл for:

for ($i = 0; $i < 3; $i++)

echo "$products [$i]";

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

Можно так же воспользоваться циклом foreach, специально предназначенного для работы с массивами. Для данного примера упомянутый цикл применяется следующим образом:

foreach ($products as $current)

echo $current. ' ';

Этот код поочередно сохраняет каждый элемент массива в переменной $current и затем выводит ее.