массивы Php

Post on 08-Jul-2015

150 views 2 download

description

массивы Php

Transcript of массивы Php

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

Цель:

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

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

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

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

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

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

15

25

25

15

10

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

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

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

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

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

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

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

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

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

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

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

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

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

• аrrау( );

• list( );

• range( ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

range ( )

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

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

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

кода?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

111

2

grn

1

rn g

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

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

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

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

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

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

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

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

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

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

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

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

!!!

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

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

Пример:

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

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

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

странице.

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

!!!

Переменная

$site_name, значение

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

за пределами

display_copy-right(),

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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