5.3. Инициализация массивов
Когда требуется инициализировать массив несколькими значениями перед его использованием, присвоение значения каждому элементу в отдельности может оказаться довольной затруднительной операцией. Для решения подобных задач в PHP имеется функция array, которая принимает перечень значений и возвращает массив этих значений. В листинге 5.4 функция array используется для создания массива месяцев года.
Каждое значение - это то, что должно находиться в правой части оператора присвоения. Значения разделяют присваиваемые значения. По умолчанию, как и при использовании скобок, элементы нумеруются начиная с нуля. Такое положение вещей можно изменить с помощью оператора =>. В листинге 5.4 январю присваивается индекс 1, а каждый последующий элемент индексируется следующим целым числом.
| Листинг 5.4. Инициализация массива_
<?php
$monthName = array(1=>" январь", " февраль", " март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"); printC'5-й месяц - $monthName[5]<br>n");
?>
Конечно, разработчик не ограничен присвоением индекса только первому элементу. Индекс можно присваивать любому элементу. В листинге 5.5 приводится пример создания массива, предназначенного для трансляции названия месяца.
| Листинг 5.5. Использование массива для преобразования значений
<?php
$monthName = array(
1=>" январь", " февраль", " март",
" апрель ", " май", " июнь ",
" июль", " август", " сентябрь",
" октябрь", " ноябрь", " декабрь",
"Jan"=>"январь", "Feb"=>"февраль",
"Mar"=>"март", "Apr"=>"апрель",
"May"=>" май", "Jun"=>" июнь",
^и1" = >"июль", "Aug" = >"август", "Sep"=>" сентябрь", "Oct"=>" октябрь", "Nov"=>"ноябрь", "Dec"=>"декабрь", "January"=>"январь", "February"=>"февраль", "March"=>"март", "April"=>"апрель", "May"=>"май", "June"=>"июнь", "July"=>"июль", "August"=>"август", "September"=>"сентябрь", "October"=>"октябрь", "November"=>"ноябрь", "December"=>"декабрь"
);
print("5-й месяц - " . $monthName[5] . "<br>n"); print("Месяц Aug - " . $monthName["Aug"] . "<br>n"); print("Месяц June - " .
$monthName["June"] . "<br>n");
?>
5.4. Многомерные массивы
Элемент массива может иметь любой тип данных. Мы уже говорили о числах и строках, но существует еще возможность работать с вложенными массивами. Массив массивов называется многомерным массивом. Например, сетка 10x10 имеет 100 квадратов, каждый из которых имеет свое собственное значение. Это можно представить с помощью двумерного массива, т.е. 10-элементного массива, каждый элемент которого представляет собой массив 10 строк x 10 столбцов.
Для ссылки на один элемент сначала используются квадратные скобки для выборки первого измерения (строки), затем используется вторая пара скобок для выборки второго измерения (столбцы). Например, чтобы выбрать строку 3 столбца 7, необходимо записать $someArray[3][7].
В листинге 5.6 показано, как многомерный массив инициируется с помощью функции array. Это демонстрирует то, что двумерные массивы являются массивами массивов. В PHP можно создавать массивы любой размерности.
| Листинг 5.6. Создание и выборка многомерных массивов
<?php
$Cities = array(
"Калифорния"=>array( "Мартинес", "Сан-Франциско", " Лос- Анджелес" ),
"Нью-Йорк"=>array( "Нью-Йорк", "Буффало"
)
);
print($Cities["Калифорния"][1]),•
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Массивы. Часть Вторая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Массивы | PHP. Массивы. Часть Третья |