Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

информационных технологий» 1 глава




специализации 1–40 01 01 01 «Компьютерные системы и Internet-технологии»

 

Гомель

УО «ГГУ им. Ф.Скорины»


УДК 004.7+004.4(073)

ББК 32.973.232-018.2+32.973.26-018.2-2р30

P 837

 

Рецензент:

кафедра вычислительной математики и программирования

учреждения образования «Гомельский государственный

университет имени Франциска Скорины»

 

Рекомендовано к изданию научно-методическим советом

учреждения образования «Гомельский государственный

университет имени Франциска Скорины».

 

  P 837 Ружицкая, Е.А. Разработка программного обеспечения на платформе Net: PHP.Net: тексты лекций по спецкурсу «Разработка программного обеспечения на платформе Net: PHP.Net» для студентов специальности 1–40 01 01 «Программное обеспечение информационных технологий» специализации 1–40 01 01 01 «Компьютерные системы и Internet-технологии» / Е. А. Ружицкая; М-во обр. РБ, Гомельский государственный университет им. Ф. Скорины. – Гомель: ГГУ им. Ф.Скорины, 2008. – 135 с.

 

 

Тексты лекций содержат основы CGI-программирования, характеристику языка PHP, работу с данными формы, конструкции языка, стандартные функции работы с массивами и строками, файлами, рассмотрены механизмы работы сессий и работу с базой данных MySQL и адресованы студентам математических специальностей университета, а также могут быть использованы студентами экономических и физических специальностей, изучающих Internet-технологии.

 

 

УДК 004.7+004.4(073)

ББК 32.973.232-018.2+32.973.26-018.2-2р30

 

  © Ружицкая Е.А., 2008
  © УО «Гомельский госуд. ун-т им. Ф. Скорины», 2008

 


СОДЕРЖАНИЕ

 

Введение…………………………………………………………………  
Тема 1 Основы CGI-программирования………………………………  
Тема 2 Характеристика языка PHP……………………………………..  
Тема 3 Работа с данными формы………………………………………  
Тема 4 Конструкции языка………………………………………………  
Тема 5 Ассоциативные массивы………………………………………..  
Тема 6 Работа с массивами………………………………………………  
Тема 7 Функции и области видимости…………………………………  
Тема 8 Строковые функции……………………………………………..  
Тема 9 Математические функции………………………………………  
Тема 10 Работа с файлами и каталогами………………………………  
Тема 11 Работа с датами и временем, посылка писем через PHP……  
Тема 12 Работа с www……………………………………………………  
Тема 13 Управление интерпретатором и сессиями……………………  
Тема 14 Работа с базой данных MYSQL………………………………  
Тема 15 Загрузка файлов на сервер…………………………………….  
Литература………………………………………………………………  

 

 


ВВЕДЕНИЕ

 

PHP – мощный язык программирования, который позволяет создавать интерактивные web-сайты. Он хорошо работает на разнообразных платформах. My SQL – является одной из самых распространенных систем управления реляционными данными, используемой для создания высококачественных коммерческих баз данных.

Тексты лекций содержат основы CGI-программирования, характеристику языка PHP, работу с данными формы, конструкции языка, стандартные функции работы с массивами и строками, файлами, рассмотрены механизмы работы сессий и работу с базой данных MySQL и адресованы студентам математических специальностей университета, а также могут быть использованы студентами экономических и физических специальностей, изучающих Internet-технологии.

 

 


Тема 1 Основы CGI-программирования

 

1.1 Методы передачи данных

1.2 Передача документа пользователю

1.3 Передача информации CGI-сценарию

 

1.1 Методы передачи данных

Термин CGI (Common Gateway Interface – общий шлюзовой интерфейс) обозначает набор соглашений, которые должны соблюдаться Web-серверами при выполнении ими различных Web-приложений.

Программы, работающие в соответствии с соглашениями CGI, называют сценариями. Сценарии могут быть написаны на любом языке программирования. CGI – это механизм, который позволяет пользователю не только получать, но и передавать информацию серверу, а также формировать документы «на лету». Спецификация CGI описывает четыре набора механизмов обмена данными: через переменные окружения, командную строку, стандартный ввод, стандартный вывод.

Заголовки и метод GET. Способ посылки параметров сценарию, когда данные помещаются в командную строку URL, называется методом GET. Фактически, даже если не передается никаких параметров (например, при загрузке статической страницы), все равно применяется метод GET.

Рассмотрим механизм передачи данных в строкой броузера. Например, набираем в браузере строку somestring. Браузер анализирует строку, выделяет из нее имя сервера и порт (а также имя протокола), устанавливает соединение с Web-сервером по адресу сервер:порт и посылает ему что-то типа следующего:

GET somestring HTTP/1.0\n

...другая информация...

\n\n

Здесь \n означает символ перевода строки, а \n\n – два обязательных символа новой строки, которые являются маркером окончания заголовков запроса. Пока не пошлем этот маркер, сервер не будет обрабатывать запрос.

После GET-строки могут следовать и другие строки с информацией, разделенные символом перевода строки. Их обычно формирует браузер. Такие строки называются заголовками (headers), и их может быть сколько угодно. Протокол http задает правила формирования и интерпретации этих заголовков.

Итак, протокол http представляет собой набор заголовков, которыми обмениваются сервер и браузер. Не все заголовки обрабатываются сервером – некоторые просто пересылаются запускаемому сценарию с помощью переменных окружения. Переменные окружения представляют собой именованные значения параметров, которые операционная система (точнее, процесс-родитель) передает запущенной программе. Программа может с помощью специальных функций получить значение любой установленной переменной окружения, указав ее имя.

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

Заголовки запросов и их описания.

· GET

Формат: GET сценарий?параметры HTTP/1.0

Переменные окружения: REQUEST_URI; в переменной QUERY_STRING сохраняется значение параметры, в переменной REQUEST_METHOD – ключевое слово GET.

Этот заголовок является обязательным (если только не применяется метод POST) и определяет адрес запрашиваемого документа на сервере. Также задаются параметры, которые пересылаются сценарию (если сценарию ничего не передается, или же это обычная статическая страница, то все символы после знака вопроса и сам знак опускаются). Вместо строки HTTP/1.0 может быть указан и другой протокол – например, HTTP/1.1. Именно его соглашения и будут учитываться сервером при обработке данных, поступивших от пользователя, и других заголовков. Строка сценарий?параметры задается в том же самом формате, в котором она входит в URL. Эта строка называется URI (Universal Resource Identifier – универсальный идентификатор ресурса).

URL – это полный путь к некоторой Web-странице вместе с параметрами, а под URI понимается его часть, расположенная после имени (или IP-адреса) хоста и номера порта.

· POST

Формат: POST сценарий?параметры HTTP/1.0

Переменная окружения: REQUEST_URI; в переменной QUERY_STRING сохраняется значение параметры, в переменной REQUEST_METHOD – слово POST.

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

Сервер никак не интерпретирует POST-данные, а пересылает их непосредственно сценарию. Метод POST используется для передачи больших объемов данных, например, при загрузке файлов через Web или при обработке больших форм. Кроме того, метод POST часто используют для эстетических целей: при применении GET URL сценария становится довольно длинным и неизящным, а POST-запрос оставляет URL без изменения, т.е. передаваемые данные не отображаются в командной строке.

· Content-type

Формат: Content-Type: application/x-www-form-

urlencoded

Переменная: CONTENT_TYPE.

Заголовок идентифицирует тип передаваемых данных. Обычно для этого указывается значение application/x-www-form-urlencoded, что означает формат, в котором все управляющие символы (отличные от алфавитно-цифровых и других отображаемых) специальным образом кодируются. Это тот самый формат передачи, который используется методами GET и POST. Довольно распространен формат multipart/form-data, который используется при загрузки файлов на сервер. Сервер не интерпретирует рассматриваемый заголовок, а просто передает его сценарию через переменную окружения.

· User-Agent

Формат: User-Agent: Mozilla/4.5 [en] (Win95; I)

Переменная окружения: HTTP_USER_AGENT.

Уточняет версию браузера (в данном случае это Netscape Navigator).

· Referer

Формат: Referer: URL_адрес

Переменная окружения: HTTP_REFERER.

Заголовок формируется браузером и содержит URL страницы, с которой осуществился переход на текущую страницу по гиперссылке.

· Content-length

Формат: Content-length: длина

Переменная окружения: CONTENT_LENGTH.

Заголовок содержит строку, являющуюся десятичным представлением длины данных в байтах, передаваемых методом POST. Если задействуется метод GET, то этот заголовок отсутствует, и значит, переменная окружения не устанавливается.

· Cookie

Формат: Cookie: значения_Cookies

Переменная окружения: HTTP_COOKIE.

Здесь хранятся все Cookies в URL-кодировке.

· Accept

Формат: Accept: text/html, text/plain, image/gif, image/jpeg

Переменная окружения: HTTP_ACCEPT.

В этом заголовке браузер перечисляет, какие типы документов он «понимает». Перечисление идет через запятую. Значение */* обозначает любой тип.

В методах GET и POST данные доставляются в URL-кодированном виде. Например, если нам нужно закодировать символ с шестнадцатеричным кодом 9E, это будет выглядеть так: %9E. Помимо этого, пробел представляется символом плюс (+).

1.2 Передача документа пользователю

Рассмотрим, как программа посылает свой ответ (то есть документ) пользователю. Сценарий просто помещает документ в стандартный поток вывода (на Си он называется stdout), который находится под контролем программного обеспечения сервера. Программа работает так, как будто нет никакого пользователя, а нужно вывести текст прямо на «экран». (Это она так думает, на самом деле выводимая информация будет перенаправлена сервером в браузер пользователя. Ясно, что у сценария никакого «экрана» нет и быть не может). Ответ программы, как и запрос пользователя, должен состоять из заголовков. Мы не можем просто направить документ в стандартный поток вывода: сначала нужно указать, в каком формате информация должна быть передана пользователю.

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

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

HTTP/1.1 OK

или так:

HTTP/1.1 404 File Not Found

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

Наиболее распространенные заголовки ответа:

· Content-type

Формат: Content-type: mime_тип; charset=koi8-r

Задает тип документа и его кодировку. Параметр charset задает кодировку документа. Поле mime_тип определяет тип информации, которую содержит документ: text/html – HTML-документ; text/plain – простой текстовый файл; image/gif – GIF-изображение; image/jpeg – JPG-изображение.

· Pragma

Формат: Pragma: no-cache

Запрещает кэширование документа браузером, так что при повторном визите на страницу браузер гарантированно загрузит ее снова, а не извлечет из своего кэша. Это может быть полезно, если страница содержит, например, динамический счетчик посещений.

· Location

Формат: Location: http://www.host.com/page.html

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

· Set-cookie

Формат: Set-cookie: параметры_cookie

Устанавливает Cookie в браузер пользователя.

· Date

Формат: Date: Sat, 08 Jan 2000 11:56:26 GMT

Указывает браузеру дату отправки документа.

· Server

Формат: Server: Apache/1.3.9 (Unix) PHP/3.0.12

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

Пример CGI-сценария на Си:

#include <time.h> // Нужна для инициализации функции rand()

#include <stdio.h> // Поддержка функций ввода/вывода

#include <stdlib.h> // Поддержка функции rand()

// Главная функция. Именно она и запускается при старте сценария.

void main(void) {

// инициализируем генератор случайных чисел

int Num; time_t t; srand(time(&t));

// в Num записывается случайное число от 0 до 9

Num = rand()%10;

// далее выводим заголовки ответа. Тип — html-документ

printf("Content-type: text/html\n");

// запрет кэширования

printf("Pragma: no-cache\n");

// пустой заголовок

printf("\n");

// выводим текст документа — его мы увидим в браузере

printf("<html><body>");

printf("<h1>Здравствуйте!</h1>");

printf("Случайное число в диапазоне 0-9: %d",Num);

printf("</body></html>");

}

Исходный текст можно откомпилировать и поместить в каталог с CGI-сценариями на сервере. Обычно стараются все сценарии хранить в одном месте – в каталоге cgibin, у которого имеется разрешение на выполнение всех файлов внутри него.

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

Content-type: image/gif. Затем копируем один-в-один нужный нам GIF-файл в стандартный поток вывода (лучше всего – функцией fwrite).

CGI-сценарии могут использоваться не только для вывода HTML-информации, но и для любого другого ее типа – начиная с графики и заканчивая звуковыми MIDI-файлами. Тип документа задается в единственном месте – заголовке Content-type.

1.3 Передача информации CGI-сценарию

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

Переменные окружения:

· HTTP_ACCEPT

В этой переменной перечислены все MIME-типы данных, которые могут быть восприняты браузером. Строка */* означает любой тип.

· HTTP_REFERER

Задает имя документа, в котором находится форма, запустившая CGI-сценарий.

· HTTP_USER_AGENT

Идентифицирует браузер пользователя. Если в данной переменной окружения присутствует подстрока MSIE, то это – Internet Explorer, в противном случае, если в наличии лишь слово Mozilla, – Netscape.

· HTTP_HOST

Доменное имя Web-сервера, на котором запустился сценарий.

· SERVER_PORT

Порт сервера (обычно 80), к которому обратился браузер пользователя.

· REMOTE_ADDR

Переменная окружения задает IP-адрес (или доменное имя) узла пользователя, на котором был запущен браузер.

· REMOTE_PORT

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

· SCRIPT_NAME

Виртуальное имя выполняющегося сценария (то есть часть URL после имени сервера, но до символа?).

· REQUEST_METHOD

Метод, который применяет пользователь при передаче данных.

· QUERY_STRING

Параметры, которые в URL указаны после вопросительного знака. Они доступны как при методе GET, так и при методе POST (если они были определены в атрибуте action тэга <form>).

· CONTENT_LENGTH

Количество байтов данных, присланных пользователем. Эту переменную необходимо анализировать, если нужно принять и обработать POST-формы.

Передача параметров методом GET. Все параметры передаются единой строкой (точно такой же, какая была задана в URL после?) в переменной QUERY_STRING. Все данные поступят URL-кодированными. Для того чтобы узнать значения полученных переменных в Си, нужно воспользоваться функцией getenv().

Пример сценария на Си, работающего с переменными окружения:

#include <stdio.h> // Включаем функции ввода/вывода

#include <stdlib.h> // Включаем функцию getenv()

void main(void) {

// получаем значение переменной окружения REMOTE_ADDR

char *RemoteAddr = getenv("REMOTE_ADDR");

//... и еще QUERY_STRING

char *QueryString = getenv("QUERY_STRING");

// печатаем заголовок

printf("Content-type: text/html\n\n");

// печатаем документ

printf("<html><body>");

printf("<h1>Здравствуйте. Я знаю все!</h1>");

printf("Ваш IP-адрес: %s<br>",RemoteAddr);

printf("Указанные параметры: %s",QueryString);

printf("</body></html>");

}

Откомпилируем сценарий и поместим его в «CGI-каталог». Теперь в адресной строке введем:

http://www.myhost.com/cgi-bin/script.cgi?a=1&b=2

Получим примерно такой документ:

Здравствуйте. Я знаю все!

Ваш IP-адрес: 192.232.01.23

Указанные параметры: a=1&b=2

Передача параметров методом POST. В отличие от метода GET, параметры передаются сценарию не через переменные окружения, а через стандартный поток ввода (в Си он называется stdin). То есть программа должна работать так, будто никакого сервера не существует, а она читает данные, которые вводит пользователь с клавиатуры.

Замечание: То, что был использован метод POST, вовсе не означает, что не был применен также и метод GET. Метод POST подразумевает также возможность передачи данных через URL-строку. Эти данные будут помещены в переменную окружения QUERY_STRING.

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

Модифицируем предыдущий пример так, чтобы он принимал POST-данные, а также выводил и GET-информацию, если она задана:

Пример получения данных POST

#include <stdio.h>

#include <stdlib.h>

void main(void) {

// извлекаем значения переменных окружения

char *RemoteAddr = getenv("REMOTE_ADDR");

char *ContentLength = getenv("CONTENT_LENGTH");

char *QueryString = getenv("QUERY_STRING");

// вычисляем длину данных — переводим строку в число

int NumBytes = atoi(ContentLength);

// выделяем в свободной памяти буфер нужного размера

char *Data = (char *)malloc(NumBytes + 1);

// читаем данные из стандартного потока ввода

fread(Data, 1, NumBytes, stdin);

// добавляем нулевой код в конец строки

// (в Си нулевой код сигнализирует о конце строки)

Data[NumBytes] = 0;

// выводим заголовок

printf("Content-type: text/html\n\n");

// выводим документ

printf("<html><body>");

printf("<h1>Здравствуйте. Я знаю все!</h1>");

printf("Ваш IP-адрес: %s<br>",RemoteAddr);

printf("Количество байтов данных: %d<br>",NumBytes);

printf("Указанные параметры: %s<br>",Data);

printf("А вот то, что мы получили через URL: %s",

QueryString);

printf("</body></html>");

}

Транслируем этот сценарий и запишем то, что получилось, под именем script.cgi в каталог, видимый извне как /cgi-bin/. Откроем в браузере следующий HTML-файл с формой:

Пример POST-формы:

<html><body>

<form action=/cgi-bin/script.cgi?param=value

method=post>

Name1: <input type=text name="name1"><br>

Name2: <input type=text name="name2"><br>

<input type=submit value="Запустить сценарий!">

</form>

</body></html>

Теперь, если набрать в полях ввода какой-нибудь текст и нажать кнопку, получим HTML-страницу, сгенерированную сценарием, например, следующего содержания:

Здравствуйте. Я знаю все!

Ваш IP-адрес: 136.234.54.2

Количество байтов данных: 23

Указанные перематры: name1=Vasya&name2=Petya

А вот то, что мы получили через URL: param=value

Обработка метода POST устроена сложнее, чем GET. Тем не менее, метод POST используется чаще, особенно если нужно передавать большие объемы данных или «закачивать» файл на сервер.

Если бы в предыдущем примере ввели параметры, содержащие, например, буквы кириллицы, то сценарию они бы поступили в URL-закодированном виде, поэтому дополнительно еще нужно было бы написать функцию расшифровки URL-кодированных данных. (Кодирование заключается в том, что некоторые неалфавитно-цифровые символы, в том числе и «русские» буквы, преобразуются в форму %XX, где XX – код символа в шестнадцатеричной системе счисления).


Тема 2 Характеристика языка PHP

 

2.1 Принцип работы PHP

2.2 Переменные, константы, выражения

 

2.1 Принцип работы PHP

PHP составлен из двух почти независимых блоков – транслятора и интерпретатора.

Транслятор – программа, которая переводит код с одного «языка» на другой. Например, утилита, преобразующая исходный Паскаль-код на Си – транслятор.

Компилятор – это транслятор, конвертирующий код программы на языке высокого уровня в машинный код.

Интерпретатор – это утилита, которая просматривает код некоторой программы и выполняет одну её инструкцию за другой, т.е. полностью контролирует процесс исполнения.

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

Таким образом, РНР является интерпретатором с встроенным блоком трансляции, оптимизирующим ход интерпретации.

Преимущества интерпретатора перед классическим компилятором, состоят в следующем:

1. Упрощается обнаружение ошибок во время выполнения программы. В случае сбоя интерпретатор сразу же выведет сообщение, если что-то не так.

2. Можно не заботиться об освобождении и выделении памяти. Интерпретатор сам определит, когда та или иная переменная в программе уже не используется, и освободит память, выделенную для нее.

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

4. Не нужно думать о типах переменных.

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

Примеры PНР-программ:

Первый вариант <? print ”Привет!” ?> Второй вариант <body> Привет! </body>

Третий вариант

<html>

<body>

<h1> Привет!</h1>

<?

//Вычисляем текущую дату в формате «день.месяц.год»

$dat=date(”d.m.y”);

$tm=date(”h:i:s”); //Вычисляем текущее время

#Выводим их

echo ”Текущая дата: $dat года <br>\n”;

echo ”Текущее время: $tm <br>\n”;

#Выводим цифры

echo ”Квадраты и кубы первых 5 натуральных чисел: <br>\n”;

for ($i=1; $i<=5; $i++)

{ echo ”<li>$i в квадрате = ”.($i*$i);

echo ”, $i в кубе =”.($i*$i*$i).”\n”;

}

?>

</body>

</html>

РНР-скрипт может не отличаться от обычного html-документа. Все, что расположено до начала РНР-кода, отображается непосредственно. Сам код сценария начинается после открывающегося тэг <? и заканчивается закрывающим?>. Между этими двумя тэгами сам текст интерпретируется как программа, и в HTML-документ не попадает. Для вывода в программе используется оператор echo (это не функция, а конструкция языка) или print. РНР устроен так, что любой текст, который расположен вне программных блоков, ограниченных <? и?>, выводится в браузер непосредственно, т.е. воспринимается, как вызов оператора echo.

2.2 Переменные, константы, выражения

Переменные. Имена переменных должны начинаться со знака $ и состоят из латинских букв и цифр. Имена переменных чувствительны к регистру ($my_variable, $My_variable). В РНР не нужно ни описывать переменные явно, ни указывать их тип. Интерпретатор делает это сам. Однако иногда он может ошибиться (например, если в текстовой строке на самом деле задано десятичное число), поэтому изредка возникает необходимость явно указывать тип переменной.

Переменные РНР это объекты, которые могут содержать в буквальном смысле все, что угодно (исключение – константа, которая может содержать только строку или число). Такого понятия как указатель в РНР не существует. При присваивании переменная копируется один-в-один, какую бы сложную структуру она не имела.

В программе не могут использоваться неинициализированные переменные!

Типы переменных. РНР непосредственно поддерживает 5 типов переменных:

· integer – целое число со знаком, обычно длиной 32 бита (от -2 147 483 648 до 2 147 483 647);

· double – вещественное число довольно большой точности;

· string – строка любой длины;

· array – ассоциативный массив (или его часто называют хэш). Это набор из нескольких элементов, каждый их которых представляет собой пару вида ключ=>значение (символом => обозначается соответствие определенному ключу какого-то значения). Доступ к отдельным элементам осуществляется указанием их ключа. В отличие от массивов Си ключами могут служить не только целые числа, начиная с нуля, но и любые строки. Оператор array() создает массив, элементы которого перечислены в скобках.

// создаст массив с ключами ”0”, ”a”, ”b”, ”c”

$a=array(0=>”zzzz”, ”a”=>”aaa”,

”b”=>”bbb”, ”c”=>”ccc”);

echo $a[”b”]; // выведет ”bbb”

$a[”1”]=”qq”; //создаст новый элемент в массиве

// и присвоит ему “qq”

$a[”a”]=”new_aaa”; // присвоит существующему элементу

// ”new_aaa”

· object – объект, реализующий несколько наиболее простых принципов объектно-ориентированного программирования. Внутренняя структура объекта похожа на хэш, за искючением того, что для доступа к отдельным элементам и функциям используется оператор ->, а не квадратные скобки.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...