Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Одномерные ассоциативные массивы.

Основные сведения о массивах.

Массив (array) - это переменная специального типа, хранящая много элементов данных. Маcсив позволяет обратиться отдельно к любому из составляющих его элементов (поскольку внутри массива они хранятся отдельно), а также есть возможность копировать или обрабатывать массив целиком.

Массивы в PHP играют очень важную роль и повсеместно используются при построении сайтов. Для доступа к информации массива достаточно просто указать имя массива и индекс ячейки с данными. Для наглядности приведу пример структуры простого индексного массива и переменной.

Массивы PHP нетипизированы, это означает, что элементы массива могут иметь любой тип, причем разные элементы в массиве могут иметь различные типы. Помимо этого массивы PHP являются динамическими, это означает, что фиксированный размер объявлять не нужно и новые элементы можно дабавлять в любое время.

Чтобы работать с массивами, вам нужно освоить два новых понятия: элементы и индексы. Элементы - это значения хранящиеся в массиве, значения могут быть абсолютно любого типа. К каждому элементу можно обратиться по его уникальному индексу. В качестве индекса может использоваться целое число или строка.Массивы можно разделить на два типа: индексные, у которых в качестве значения индекса используется только целое число и ассоциативные, где значением индекса может быть как строка так и число. Часто в ассоциативных массивах индекс называется: «ключ».

Индексные массивы обычно называют просто «массивами», а ассоциативные массивы - «хешами», «ассоциативными» или «словарями».

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

 

В PHP есть три способа создания массивов. Первый способ - это создание с помощью специальной функции array(). В качестве аргументов функция принимает любое количество пар ключ => значение (key => value) разделенных запятыми или просто значения, также разделяемые запятыми. Она возвращает массив, который можно присвоить переменной. Пример создания массива ниже.

<?php

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

$avto= array('Opel','BMW','Mercedes','Reno','Volvo','Seat','Ford');

?>

Так как указывать ключ не обязательно, значения можно добавлять в массив без его указания. Если ключ не указывается, PHP будет использовать числовые индексы. По умолчанию элементы будут нумероваться, начиная с нуля. Массивы с числовыми индексами позволяют просто добавить элемент, а PHP автоматически будет использовать предыдущее наибольшее значение ключа типа integer, увеличенное на 1.Пример представлен ниже.

    <?php   $array = array('Opel', 'BMW', 7 => 'Reno', 'Audi'); var_dump($array);   ?>

 

 

ГЛАВА 2 Ассоциативные и индексные массивы

Ассоциативные массивы.

 

Ассоциативные массивы есть еще одной разновидностью массивов PHP. Отличием ассоциативных массивов от простых являются индексы. Если в простых массивах это были числовые индексы, то ассоциативных эти индексы текстовые. Это делает ассоциативные массивы более упорядоченными и осмысленными. Благодаря этому они более широко применяются,нежели простые индексные.

Рис.1- Ассоциативный массив.

Итак,массивы, индексами которых являются строки,называются ассоциативными массивами.

При использовании ассоциативных массивов вместо численных индексов 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

);

?>

Одномерные ассоциативные массивы.

Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.

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

Spairings["zinfandel"] = "Broiled Veal Chops";

$pairings["merlot"] = "Baked Ham";

$pairings["sauvignon"] = "Prime Rib";

$pairings["sauternes"] = "Roasted Salmon";

Ассоциативный массив заметно экономит время и объем программного кода, необходимого для вывода определенных элементов массива.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...