Время перейти к изучению следующей структуры данных в РНР — к массивам. Массивы представляют собой набор данных, объединенных под одним именем, и они занимают значительное место в программировании. Каждый массив состоит из отдельных элементов, и каждый элемент массива ассоциирован с определенным индексом.
Массивы могут быть созданы при помощи оператора присваивания точно так
же, как и обычные переменные. Имена массивов подчиняются тем же
правилам, что и имена переменных, в частности, они начинаются со знака $
.
Отличительным признаком массива являются квадратные скобки после его имени,
например:
$fruits [1] = "яблоко";
Данный оператор создает массив $fruits
и присваивает его элементу с
индексом 1
значение "яблоко"
. С этого момента к элементу можно обращаться
точно также, как и к обычной переменной, не забывая указывать значение
индекса в квадратных скобках, например:
echo $fruits[1] ;
Этот оператор просто выведет строку "яблоко"
. К массиву легко добавить
и другие элементы, например:
$fruits[2] = "груша";
$fruits[3] = "абрикос";
Наряду с числами, в качестве индексов массивов могут быть использованы и строки, например:
$apple_count["Москва"] = 10000;
$apple_count["Рязань"] = 5000;
$apple_count[ "Казань" ] =3000;
Следует обратить внимание на то, что в одном и том же массиве могут
использоваться и числовые, и строковые индексы одновременно.
Существует сокращенная форма создания массива — после имени массива
ставится пара квадратных скобок []
, например:
$fruits[] = "яблоко";
$ fruits[] = "груша";
$ fruits[] = "абрикос";
РНР по умолчанию нумерует элементы массива, начиная с 0
, так что в этом
случае $fruits[1]
будет содержать строку "груша"
, а не "яблоко"
, как в первом примере.
Для обработки всех элементов массива удобно использовать циклы,
например, цикл for
. Нумерация элементов массива начинается с 0
, а функция count()
возвращает количество элементов массива. Ниже приведен пример, который
последовательно выводит все элементы массива, каждый в своей строке.
for($index = 0; $index < count($fruits) ; $index++)
{
echo $fruits[$index], "\n";
}
Существует еще более краткая форма для создания массива при помощи
функции array()
:
$fruits = array("яблоко", "груша", "абрикос");
Этот оператор создает массив, индекс которого начинается с 0
. Если же
требуется начать нумерацию элементов массива с другого числа, можно
воспользоваться конструкцией =>
:
$fruits = array(1 => "яблоко", "груша", "абрикос");
Этот массив, в отличие от предыдущего, в элементе $fruits[1]
содержит
строку "яблоко"
, а не "груша"
.
Точно так же может быть создан массив со строковыми индексами:
$apple_count = array("Москва" => 10000, "Рязань" => 5000, "Казань" => 3000);
Оператор =>
связывает индекс и соответствующее ему значение элемента
массива.
Замечание
« Для массивов, содержащих последовательные данные, существует еще один эффективный способ создания при помощи функции range()
. Например, для создания
массива, содержащего буквы латинского алфавита, можно использовать оператор
$letters = range("a","z") ;