- •Лабораторная работа
- •Создание массивов с помощью функции-конструктора
- •Задание 1 (Простейший анализ массивов)
- •Оператор foreach
- •Задание 2 (Использование оператора foreach)
- •Динамическое формирование массивов
- •Многомерные массивы
- •Итератор each
- •Конструкция list
- •1. Общие сведения о применении массивов в рнр
- •Количество элементов в массиве можно вычислить с помощью функции
- •2. Операторы для вывода информации о структуре и значениях объектов данных
- •3. Управлением внутренним указателем
- •Вопросы для самоконтроля
Рубанчик В.Б. |
Лабораторная работа "Методы предварительной обработки форм" |
|
Лабораторная работа
Тема: Работа с массивами
Цель работы: Освоить характерные для РНР приемы работы с массивами
Общая информация о массивах РНР приведена в справочном разделе.
Создание массивов с помощью функции-конструктора
В РНР определена функция-конструктор array, которая возвращает созданный объект массива. С ее помощью можно создавать инициализированные и неинициализированные массивы.
а) Создание неинициализированного массива.
$arr1 = array();
б) Создание и инициализация скалярного (пронумерованного) массива.
$arr2= array("http://www.yandex.com",
"http://www.google.com",
"http://www.altavista.com");
В этом случае РНР присваивает по умолчанию значениям числовые значения ключей, начиная с нуля.
в) Создание и инициализация ассоциативного массива.
При создании ассоциативного массива значения ключей необходимо указывать явно. В следующем примере формируется массив из трех значений с ключами "yandex", "google", "altavista". В РНР для установления ассоциации используется оператор =>
$arr3=array("yandex"=>"http://www.yandex.com",
"google"=>"http://www.google.com",
"bing"=>"http://www.altavista.com");
Задание 1 (Простейший анализ массивов)
1. Для каждого из приведенных определений массивов ($arr1, $arr2, $arr3)
а) получить и вывести длину массива,
б) получить и вывести массивы ключей и значений; для вывода использовать цикл for, полученную информацию представить строками
ключ=…. значение=…
в) используя функции print_r и var_dump вывести информацию о массивах в отладочном формате; выяснить различие в форматах выводимой этими функциями информации.
2. Применить функции print_r и var_dump для массива, в котором один из элементов также является массивом.
$arr4 = array(1,"asd",array(2,3));
3. Создать в скрипте простую переменную и присвоить ей целочисленное значение. Применить к этой переменные функции print_r и var_dump.
4. Проанализировать результаты примеры 1-3, сформулировать, в чем состоит основное различие между функции print_r и var_dump.
Примечание.
Так как РНР в некоторых контекстах может неявно выполнять преобразование чисел в строки и наоборот, то фактически все РНР-массивы можно рассматривать как ассоциативные. Поэтому в следующем фрагменте формируется массив, аналогичный созданному в примере а):
$arr5=array(0=>"http://www.yandex.com",
1=>"http://www.google.com",
"2"=>"http://www.altavista.com");
У первых двух элементов ключи заданы числами, а у третьего элемента ключ — строкой. По указанной выше причине все три ключа будут восприняты одинаково.
Из этого следует важный вывод: так как ключи ассоциативных массивов выбираются программистом по своему усмотрению, то и числовые ключи могут задаваться в произвольно и в любом порядке. Например, не будет ошибкой следующее определение массива:
$arr6=array(2=>"http://www.yandex.com",
4=>"http://www.google.com",
1=>"http://www.altavista.com");
Однако, в зависимости от способа просмотра, при выводе элементов такой массив может выглядеть по-разному.
