Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_18_php-2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
92.16 Кб
Скачать

Рубанчик В.Б.

Лабораторная работа "Методы предварительной обработки форм"

7/7

Лабораторная работа

Тема: Работа с массивами

Цель работы: Освоить характерные для РНР приемы работы с массивами

Общая информация о массивах РНР приведена в справочном разделе.

Создание массивов с помощью функции-конструктора

В РНР определена функция-конструктор 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");

Однако, в зависимости от способа просмотра, при выводе элементов такой массив может выглядеть по-разному.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]