Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
31
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

3.2. Создание массивов и особенности их использования в php

Для создания массива можно применять самый простой способ, аналогичный созданию переменной – то есть присвоить элементам массива некоторых значений.

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

Пример 3‑37

<?php

//Прямой метод создания массива и

//автоматическая нумерация его элементов

$frukt[] = "яблоко";

$frukt[] = "груша";

$frukt[2] = "слива";

$frukt[4] = "абрикос";

$frukt[] = "персик";

echo "Первый элемент массива \$frukt[0]= $frukt[0] <br>";

echo "Второй элемент массива \$frukt[1]= $frukt[1] <br>";

echo "Третий элемент массива \$frukt[2]= $frukt[2] <br>";

echo "Пятый элемент массива \$frukt[4]= $frukt[4] <br>";

echo "Шестой элемент массива \$frukt[5]= $frukt[5] <br>";

//-------------------------------------------------------------------------------

//Пример с пустыми элементами массива

// $klient[0]= "Иванов";

$klient[1]= "Петров";

$klient[2]= "Сатин";

$klient[3]= "Кожедуб";

echo "Первый элемент массива \$klient[0] = $klient[0] <br>";

echo "Второй элемент массива \$klient[1] = $klient[1] <br>";

//Проверим, является ли первый элемент массива пустым

//Значение $a будет равно TRUE(1),

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

//FALSE (0),если переменная будет иметь какое-либо значение

$a = is_null($klient[0]);//

echo "\$a = $a <br>";

$klient[0]= "Иванов";

echo "Первый элемент массива \$klient[0] = $klient[0] <br>";

$a = is_null($klient[0]);

echo "\$a = $a <br>";

$klient[]= "Федотов";

$klient[]= "Сидоров";

echo "Пятый элемент массива \$klient[4] = $klient[4] <br>";

echo "Шестой элемент массива \$klient[5] = $klient[5] <br>";

//--------------------------------------------------------------------------------

//Использование строк в качестве индексов

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

$klient['Москва'] = "Москвин";

$klient["Рязань"] = Рязанов;

echo "Седьмой элемент массива \$klient = $klient[Москва] <br>";

echo "Восьмой элемент массива \$klient = $klient[Рязань] <br>";

$klient[7] = "Сапожников";

echo "Девятый элемент массива \$klient = $klient[7] <br>";

$kolelem = count($klient);//Подсчёт числа элементов массива $klient

echo "В массиве \$klient $kolelem элементов <br>";

//------------------------------------------------------------------------------------------

//Индекс элемента массива может быть отрицательным

$klient[-1] = "Фирсов";

$kolelem = count($klient);//Подсчёт числа элементов массива $klient

echo "В массиве \$klient $kolelem элементов <br>";

echo "\$klient[-1] = ". $klient[-1]."<br>" ;

//-----------------------------------------------------------------------------------------

//Элементы массива могут быть разного типа

$klient[8] = 150;

echo "Одиннадцатый элемент массива \$klient = $klient[8] <br>";

//Проверка типа элементов массива $klient

$tip = is_string($klient[Рязань]);

if($tip)

echo 'Тип восьмого элемента $klient - строковый', "<br>";

$c = is_integer($klient[8]);

if($tip)

echo 'Тип одиннадцатого элемента $klient - целый', "<br>";

?>

Этот пример необходимо обязательно проанализировать, и выполнить соответствующий скрипт.

По результатам анализа и выполнения можно сформулировать несколько правил, которым подчиняются массивы и работа с ними в PHP:

    1. Первый элемент массива может иметь целочисленный индекс, равный нулю22. Следовательно, необходимо считать элементы массива, начиная с нулевого индекса. Поэтому, если в массиве у нас всего пять элементов, то индекс последнего (пятого по счёту) равен четырём (4), а первого - нулю (0).

    2. Существует самый простой способ создания массива, когда даже нет необходимости указывать значение индекса. PHP-машина начинает автоматическую индексацию с нулевого значения. При этом можно перескакивать с автоматической нумерации (по умолчанию) на явную нумерацию.

    3. Если элемент массива не определён, то он является пустым, но сам по себе массив все равно существует.

    4. Если для элемента ключ не задан, то в качестве ключа берется максимальный числовой ключ, увеличенный на единицу23.

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

    6. Строчные и числовые индексы могут использоваться одновременно, но счёт числовых индексов происходит независимо от строчных индексов.

    7. Сами элементы одного и того же массива могут быть разного типа.

    8. Элемент массива может быть отрицательным, хотя целесообразность использования такого индекса не очевидна.

Существует более краткая форма создания массива при помощи функции array( ).

В примере Пример 3 -38 создаются три массива: численно-индексированные $zoopark, $goroda и, так называемый, ассоциативный $photo.