Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

Массивы и инициализация массивов

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

$massiv[0] = 'name';

$massiv[1] = 'phone';

Ассоциативные массивы (хэши) используют в качестве индексов строковые значения - ключи.

$new_mas['name'] = 'Valera';

$new_mas['email'] = 'rvs@bsu.by';

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

$massiv[] = "третий"; //$massiv[2] = " третий "

$massiv[] = "четвертый";//$massiv[3] = " четвертый "

Второй способ создания массива реализуется путем вызова функции array():

$massiv = array('one','two','three');

Для ассоциативных массивов такой вызов будет иметь вид:

$new_massiv = array('name' => 'nobody', 'email' => 'mail@bsu.by');

Между индексом и значением помещается здесь знак =>. Рассмотрим пример:

<?php //pr45

$massiv = array('one','two','three');

$massiv[5]="5";

$massiv[6]="6";

$massiv[]="7";

print_r($massiv);

$new_massiv = array('name' => 'nobody', 'email' => 'mail@bsu.by');

print_r($new_massiv);

print $new_massiv['name']

?>

Результат:

Array ( [0] => one [1] => two [2] => three

[5] => 5 [6] => 6 [7] => 7 )

Array ( [name] => nobody [email] => mail@bsu.by )

nobody

Функция print_r() используется для вывода всего массива.

PHP содержит суперглобальные переменные-массивы, которые всегда доступны для всех блоков сценария PHP и используются для передачи данных от клиента к серверу. Вот эти суперглобальные переменные PHP: $_GET[], $_POST[], $_ENV[], $_REQUEST[], $_COOKIE[], $_FILES[], $_SERVER[], $_SESSION[].

Массив $_ENV содержит переменные среды окружения. Другие переменные будут описаны в дальнейшем. Следующий пример выполняет вывод значений элементов суперглобального массива $_SERVER

<?php //pr46

//print_r($_GET); //print_r($_POST); //print_r($_REQUEST);

//print_r($_COOKIE ); //print_r($_FILES);

print_r($_SERVER);

//print_r($_ENV); //print_r($_SESSION);

?>

Результаты:

Array

( [COMSPEC] => C:\WINDOWS\system32\cmd.exe

[DOCUMENT_ROOT] => z:/home/localhost/www

[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

[HTTP_ACCEPT_ENCODING] => gzip, deflate

[HTTP_ACCEPT_LANGUAGE] => ru

[HTTP_CONNECTION] => Keep-Alive

[HTTP_HOST] => localhost

[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

[PATH] => \usr\local\ImageMagick;\usr\local\php5;

[REMOTE_ADDR] => 127.0.0.1

[REMOTE_PORT] => 1071

[SCRIPT_FILENAME] => z:/home/localhost/www/myprimers/pr44.php

[SERVER_ADDR] => 127.0.0.1

[SERVER_ADMIN] => webmaster@localhost

[SERVER_NAME] => localhost

[SERVER_PORT] => 80

[SERVER_SIGNATURE] => <ADDRESS>Apache/1.3.33 Server at <A HREF="mailto:webmaster@localhost">localhost</A> Port 80</ADDRESS>

[SERVER_SOFTWARE] => Apache/1.3.33 (Win32) PHP/5.1.6

[SERVER_PROTOCOL] => HTTP/1.1

[REQUEST_METHOD] => GET