Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HTML5_Lab_2014.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Доступ к содержимому массива

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

$products[0]=’Предохранители’;

та строка кода заменяе первый элемент массива ‘Покрышки’ элементом ‘Предохранители’.

Добавить новый элемент в массив можно так:

$products[3]=’Предохранители’;

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

Для отображения содержимого массива на экран можно ввести такой оператор:

echo “$products[0] $products[1] $products[2] $products[3]”;

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

Использование циклов для доступа к массиву

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

for($i=0;$i<3;$i++)

{

echo $products[$i].” “;

}

Можно также воспользоваться циклом foreach, специально преднахначенным для работы с массивами:

foreach($products as $current)

{

echo $current.” “;

}

Этот код поочередно сохраняет каждый элемент массива в переменной $current и затем выводит ее.

Массивы с различными индексами

$prices=array(‘Покрышки’=>100, ‘Масло’=>10, ‘Свечи зажигания’=>4);

Этот код создает массив. в котором названия товаров используются в качестве ключей, а их цены – в качестве значений.

Доступ к содержимому элемента такого массива можно получить так:

$prices[‘Покрышк’], $prices[‘свечи зажигания’] и т.д.

Создать массив можно так:

$prices=array(‘Покрышки’=>100);

$prices[‘Масло’]=10;

$prices[‘Свечи зажигания’]=4;

А вот еще один способ создания ассоциативного массива.

$prices=[‘Покрышки’]=100;

$prices[‘Масло’]=10;

$prices[‘Свечи зажигания’]=4;

В этой версии массив вообще не создается явно. Он создается втот момент, когда в него добавляется первый элемент.

Для работы с ассоциативными массивами используют цикл foreach либо конструкции list() и each().

При работе с ассоциативными массивами структура цикла foreach претерпевает незначительные изменения:

foreach($prices as $key=>$value)

{

echo $key.” “.$value.”<br />”;

}

Приведенный ниже код выводит содержимое массива с использованием конструкции each():

while($element=each($prices))

{

echo $element[‘key’];

echo “ “;

echo $element[‘value’];

echo “<br />”;

}

Функция each() возвращает текущий элемент массива и делает текущим следующий элемент. Здесь переменная $element является массивом: key содержит ключ текщего элемента, а value – значение текущего элемента.

Это же можно сделать более красиво – воспользоваться конструкцией list() для разбиения массива на набор значений:

while(list($product,$price) = each($prices))

{

echo “$product - $price<br />”;

}

Здесь конструкция list() используется для преобразования ключа элемента и его значения в две новых переменных с именами $product и $price.

При использовании конструкции each() следует помнить, что она отслеживает текущий элемент. Если в одном и том же сценарии нам необходимо использовать один и тот же массив, то необходимо с помощью функции reset() установить мнимый указатель текущего элемента массива на начало массива.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]