Ассоциативные массивы: названия вместо чисел


Далее мы рассмотрим так называемые ассоциативные массивы, с которыми мы ранее уже сталкивались на примере $_GET и $_POST. Теперь настало время более подробно изучить эту технологию.

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

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

Если мы хотим присвоить элементу с данным названием ключа численное значение, то для этого используется символическая стрелка, которая состоит из знака равенства и символа «больше». Например, при использовании ассоциативного массива для представления результатов опроса перед самим проведением опроса значения можно инициализировать следующим способом:

<?
$poll = array(
"Animated Adventures" => 0,
"Deep Space Nine" => 0,
"Enterprise" => 0,
"Next Generation" => 0,
"Original Series" => 0,
"Voyager" =>0
);
?>

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

<?
$poll = array("Animated Adventures" => 0, "Deep Space Nine" => 0, "Enterprise" => 0, "Next Generation" => 0, "Original Series" => 0, "Voyager" => 0);
?>

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

echo $poll['Animated Adventures'];

мы выводим число посетителей, которые проголосовали за серию «Animated Adventures», а с помощью команды

$poll['Animated Adventures']++;

мы увеличиваем число тех, кто проголосовал за эту серию на единицу. Как и для обычного массива с численными индексами, для ассоциативного массива мы можем увеличивать количество элементов и изменять значения для отдельных элементов ассоциативного массива. Например, с помощью

$poll['Animated Adventures'] = 5;

мы присваиваем элементу «Animated Adventures» значение 5, а с помощью

$poll['New Edition'] = 5;

к массиву добавляется новый элемент, или, если массив еще не содержит элементов, то PHP создает первый элемент.
Ассоциативные массивы являются очень удобным инструментом, однако для начала необходимо понять, как ими пользоваться. Например, как можно будет вывести значения для всех элементов массива с помощью цикла for, ведь в данном случае индекс не является числом? Для этих целей в PHP, начиная с версии 4, имеется другой оператор - foreach, с которым мы познакомимся немного позднее. Сейчас давайте вернемся к нашей программе для обработки результатов опроса.

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика