Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по PHP.doc
Скачиваний:
0
Добавлен:
29.12.2019
Размер:
2.76 Mб
Скачать

Массивы

Массив в PHP представляет собой упорядоченный набор в общем случае разнотипных данных (элементов массива), объединенных под общим именем.

Каждый элемент имеет уникальный индекс (номер). Индексы могут быть:

- числовыми (0, 1, 2, 3, …) – в этом случае массив называется списком,

- символьными (‘a’, ‘b’, ‘c’, …),

- строковыми (‘имя’, ‘фамилия’, ‘дата рождения’, …) – в этом случае массив называется ассоциативным.

Создание массивов

Массив-список создается при первом присваивании определенного значения его элементу:

$my_array[] = “Иван”;

Создается массив-список $my_array, и его начальному элементу (элементу с индексом 0) присваивается значение “Иван”.

Внимание! Нумерация элементов массива-списка начинается с нуля!

К этому массиву можно добавлять другие элементы, используя тот же прием:

$my_array[] = “Иванов”; // элемент с индексом 1

$my_array[] = 25560; // элемент с индексом 2

Типы элементов массива могут быть различными. При добавлении очередного элемента в массив индекс его автоматически увеличивается на единицу (автоинкремент).

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

$my_array[1] = “Иван”;

$my_array[2] = “Иванов”;

$my_array[3] = 25560;

Массив может быть создан также с помощью следующих конструкций:

- как список:

$my_array = array (“Иван”, “Иванов”, 25560);

var_damp($my_array); // вывод на экран

На экране появятся индексы в квадратных скобках, типы и значения элементов:

array(3) { [0]=> string(4) "Иван" [1]=> string(6) "Иванов" [2]=> int(25560) }

- как ассоциативный массив:

$my_array = array (‘Имя’=>“Иван”, ‘Фамилия’=>“Иванов”, ‘Зарплата’=>25560);

var_damp($my_array);

Внимание! Строковые индексы заключаются в одинарные кавычки!

На экране появятся индексы в квадратных скобках, типы и значения элементов:

array(3) { ["Имя"]=> string(4) "Иван" ["Фамилия"]=> string(6) "Иванов" ["Зарплата"]=> int(25560) }

Для вывода на экран элементов массива в PHP используется специальный цикл foreach – для каждого:

foreach (массив as значение_элемента)

{

операторы цикла

}

  • массив – имя массива,

  • значение_элемента – переменная для чтения значения элемента массива.

foreach ($my_array as $value)

{

echo $value;

echo “<BR>”;

}

На экране появится:

Иван Иванов 25560

Этим же циклом можно выводить не только значения элементов, но и их индексы:

foreach($my_array as $index=>$value)

{

echo $index, "=>", $value, "<BR>";

}

На экране появится:

Имя=>Иван Фамилия=>Иванов Зарплата=>25560

Для добавления элементов в массив можно использовать следующие способы:

- для массива-списка:

$my_array[] = “Профессор”;

- для ассоциативного массива:

$my_array[‘Должность’] = “Профессор”;

Для удаления элемента из массива используется функция unset(элемент):

unset($my_array[2]);

или

unset($my_array[‘Зарплата’]);

Удален элемент с индексом 2 (индексом ‘Зарплата’). При этом оставшиеся элементы сохраняют свои прежние индексы – переиндексации элементов массива не происходит. Этой же функцией можно удалить и весь массив:

unset($my_array);

Для определения количества элементов в массиве используются функции:

count(массив);

sizeof(массив);

$my_array = array (‘Имя’=>“Иван”, ‘Фамилия’=>“Иванов”, ‘Зарплата’=>25560, ‘Должность’=>“Профессор”);

$n = count($my_array);

echo “<BR>”, ‘$n=’, $n, “<BR>”;

На экране появится:

$n=4