23
Тема: массивы в PHP Изучить возможности языка PHP при решении задач, требующих использования массивов. Рассмотреть примеры использования массивов при создании web - страниц. Цель:

массивы Php

Embed Size (px)

DESCRIPTION

массивы Php

Citation preview

Page 1: массивы Php

Тема: массивы в PHPИзучить возможности языка PHP при решении задач, требующих использования массивов. Рассмотреть примеры использования массивов при создании web - страниц.

Цель:

Page 2: массивы Php

Сегодня на уроке: мин:

1. Понятие массива;

2. Понятие ассоциативного массива;

3. Понятие многомерного массива;

4. Примеры использования массива при работе с web - страницами.

5. Практическая работа.

15

25

25

15

10

Page 3: массивы Php

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

Доступ к каждому элементу массива осуществляется с помощью индекса – в общем случае порядкового номера элемента в массиве.

Массивы бывают одномерными и многомерными:

A (i) A (i, j) A( I, ,j , k)

Page 4: массивы Php

Самый элементарный способсоздания массива в PHP программе.

Вывод 4-го элемента в окно броузера.

Еще один способ задания массива, индекс по умолчанию начинается с 0!

Page 5: массивы Php

Вывод элементов массива с помощью цикла с параметром. Каждый элемент массива выводится с новой строки.

Page 6: массивы Php

2. Ассоциативный массив

Задается аналогично предыдущему примеру, но вместо числовых индексов – ассоциативный индекс

Page 7: массивы Php

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

При создании массивов используются

три стандартные языковые конструкции:

• аrrау( );

• list( );

• range( ).

Array ( ) Функция array ( ) получает ноль или более элементов и возвращает массив, состоящий из указанных элементов.

Формат записи: array ([элемент1, элемент2...]);

Page 8: массивы Php

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

Найдите ошибку в коде

Ответ: в параметрах цикла переменная цикла изменяется от 0 до 3, но массив определен от 0 до 2, т.е. при выводе 3-го элемента в окне броузера будет выдано сообщение об ошибке!

Page 9: массивы Php

list( ) похожа на array( ), однако ее главная задача — одновременное присваивание значений, извлеченных из массива, сразу нескольким переменным.

Формат записи:

list (переменная1 [. переменная2 , ...] );

Допустим, вы хотите отформатировать и вывести данные, прочитанные из текстового файла. Каждая строка файла содержит сведения о пользователе (имя, профессия и любимый цвет); компоненты записи разделяются вертикальной чертой (|). Типичная строка выглядит так:

Пугачева | певица | красный

Page 10: массивы Php

Использование внешнего файла fio.dat для вывода информации в окно броузера.!!!

Исходный файл fio.dat

Результат вывода

в окне броузера

Page 11: массивы Php

Результат вывода

в окне броузера

Каждая строка файла fio.dat разбивается на подстроки отделенные друг от друга пробеламивозвращает строку, прочитанную от текущей позиции указателя в файле, определяемом файловым манипулятором. Файловый указатель должен ссылаться на открытый файл, доступный для чтения

разбивает строку на элементы, границы которых определяются по заданному шаблону

Page 12: массивы Php

Конструкция list() особенно удобна при чтении информации из базы данных или файла

range ( )

позволяет легко и быстро создать массив целых чисел из интервала, определяемого верхней и нижней границами. Range( ) возвращает массив, состоящий из всех целых чисел указанного интервала

Формат записи:range (нижняя_граница,верхняя граница)

Что выполняется в данном фрагменте

кода?

Результат вывода в окне броузера

Page 13: массивы Php

Объясните, назначение данного PHP - кода?

Чем отличается данная конструкция

вывода в окно броузера значений

элементов массивов?

Page 14: массивы Php

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

Результат вывода в окне броузера

Что будет отображаться в окне броузера?

Многомерный массив – это массив в массиве!

Page 15: массивы Php

4. Примеры использования массиваВ качестве примера рассмотрим массив,

в котором хранится информация

о DVD дисках и фильмах которые на них записаны.

1 Элемент массива – является массивом

Элемент массива – является массивом

Элемент массива – строка

111

2

grn

1

rn g

Page 16: массивы Php

Основной массив будет состоять из 4-х элементов каждый из которых является массивами: Dvd_disk1, Dvd_disk2, Dvd_disk3, Dvd_disk4

Каждый массив Dvd_disk будет состоять из 2-х элементов, каждый из которых является массивом: Film1 и Film2

Каждый массив Film будет состоять из 3-х элементов, каждый из которых является текстовой строкой

Page 17: массивы Php

Домашнее задание:Попробуйте переписать PHP – код для данного примера таким образом, чтобы информация о дисках выводилась из

внешнего файла film.dat

Page 18: массивы Php

5. ФункцииФункцией называется фрагмент программного кода, обладающий уникальным именем и предназначенный для решения конкретной задачи.

Определение функции обычно состоит из трех частей:

• имени функции; • круглых скобок, в которых перечисляются необязательные входные параметры, разделенные запятыми;• тела функции, заключенного в фигурные скобки.

Функция вызывается по имени в разных точках программы, что позволяет многократно выполнять фрагмент с указанным именем.

Page 19: массивы Php

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

Преимущество такого решения заключается в том,что блок кода пишется всего один раз, а затем легко модифицируется по мере необходимости

Замечание: существует и другой способ, заметно повышающий эффективность программирования и способствующий многократному использованию кода, — выделение функций в отдельный файл (называемый библиотекой). Библиотеки удобны тем, что их функции можно использовать в разных приложениях, не создавая лишних копий и не рискуя допустить ошибки в процессе копирования.

!!!

Page 20: массивы Php

Обобщенный синтаксис функций РНР выглядит так:

Форматзаписи:

Пример:

Page 21: массивы Php

В качестве примера рассмотрим как

создать функцию для вывода

лицензионной информации на web-

странице.

Замечание: Если web-сайт состоит из нескольких страниц, достаточно вызвать эту функцию в конце каждой страницы — и вам не придется заново переписывать один и тот же текст. А когда наступит 2010 год, одно простое изменение текста, выводимого этой функцией, приведет к автоматическому обновлению всех страниц. Если бы не преимущества функционального программирования, пришлось бы вручную редактировать все страницы, на которых выводится лицензионная информация.

!!!

Page 22: массивы Php

Переменная

$site_name, значение

которой присваивается

за пределами

display_copy-right(),

передается функции в

качестве параметра.

Вложенные функции

Функции можно вызывать внутри других

функций — по аналогии с тем, как одна

управляющая конструкция (if, while, for и

т. д.) может находиться внутри другой.

Такая возможность удобна в любых

программах, и в больших, и в малых,

поскольку она увеличивает степень

модульности приложения и упрощает

сопровождение программы

Вызов встроенной функции DATE

Также допускается объявление функций внутри других функций.

Page 23: массивы Php

Объясните, назначение данного PHP - кода?