Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по PHP.doc
Скачиваний:
198
Добавлен:
04.06.2015
Размер:
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