[Image] Четверг, 19.12.2024, 02:44 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2010 » Декабрь » 18 » Синтаксис массивов
22:40
Синтаксис массивов
В РНР вы можете создавать массивы переменных разными способами. Возможно,самый простой способ реализации массива представлен следующим синтаксисом:
$variable[<key expr>] = <ехрг>;
<кеу ехрг> — это выражение, которое вычисляется как строка или любое неотрицательное целое число, а <ехрг> представляет собой выражение, значение которого ассоциируется с этим ключом. В листинге 2.1 приведен примером массива $foo, который содержит четыре ключа — а, Ь, с и d, которым присвоены целые значения 1, 2, 3 и 4 соответственно.
Листинг 2.1. Присвоение значений массиву
function assign_key() {
r e t u r n ' d ' ;
}
$ f o o [ ' a ' ] = 1;
$ f o o [ ' b ' ] = 2;
$ f o o [ ' c ' ] = 3 ;
$foo[assign_key()] = 4; /*3начение ключа присваиваемого элемента равно ' d ' * /
?>
Аналогичным образом можно манипулировать каждым из этих четырех ключей и использовать их подобно любой другой переменной РНР, как показано в листинге 2.2.
Листинг 2.2. Манипуляции значениями массива
< ? p h p
/* $ f o o [ ' b ' ] с е й ч а с р а в н о 1 + 3 = 4 * /
S f o o f b ' ] = $ f o o [ ' a ' ] + $ f o o [ ' c ' ] ;
НА ЗАМЕТКУ
Замена переменных в строках в двойных кавычках (подобных, например, "значение \$myvar равно $rayvar"), может оказаться сложной, когда переменная, которую нужно вычислить, хранится в виде ключа массива.
Чтобы преодолеть это, должны использоваться фигурные скобки, чтобы гарантировать, что РНР правильно обработает строку:
$ v a r - " З н а ч е н и е \ $ f o o [ ' b ' ] = { $ f o o [ ' b ' ] } " ;
Если <key expr> равно null либо не определено, РНР автоматически использует следующее по порядку доступное целое значение ключа. Какое именно целое будет выбрано в качестве следующего ключа, определяется наибольшим значением ключа, уже использованного в массиве. Если никакое целое число еще не использовано в качестве ключа, то первый создаваемый ключ будет равен 0. Если же 0 уже использовано, будет взято значение 1 и так далее. Следует отметить, что РНР не "заполняет" ключи равномерно. Это значит, что если существуют ключи 1, 3 и 4, РНР создаст целый ключ 5 несмотря на то, что ключ 2 еще не присвоен. В листинге 2.3 показан пример, иллюстрирующий упомянутую концепцию.
Листинг 2.3. Автоматическая генерация индексов массива
$foo[] = "Значение 1"; /* Присвоен ключ 0 */
$foo[] = "Значение 2"; /* Присвоен ключ 1 */
$foo[5] • "Значение 3"; /* Присвоен ключ 5 */
$foo[] = "Значение 4"; /* Присвоен ключ 6 */
?>
При определении массива внутри вашего сценария вручную, приведенный выше синтаксис может оказаться громоздким. Вместо этого метода РНР предлагает более формальный синтаксис работы с массивом — с использованием функции array (). Общий синтаксис функции array () выглядит так:
$variable = array([mixed ...]);
В приведенном синтаксисе с помощью mixed представлены различные пары ключ/значение, определенные в следующем формате:
<key expr> => <value expr>,
<кеу expr> => <value expr> ...
В частности, PHP-код в листинге 2.4 создает тот же массив $foo, что и предыдущие примеры, использующие формальный синтаксис:
Листинг 2.4. Использование функции array ()
/* Массивы $foo и $bar эквиваленты */
$foo = array('a1 => 1, 'b' -> 2, 'с' => 3) ;
$bar['a'] = 1;
$bar['b'] - 2;
$bar['c'] = 3;
?>
В менее формальном виде функция array () может автоматически присваивать ключи, если они не указаны явно. Если это желательно, пропустите значение ключа и операцию =>, как показано в листинге 2.5.
Листинг 2.5. Дополнительные примеры использования массивов
/,* Создает массив с ключами от 0 до 3 */
$myarray » array('a', 'b', 'с', 'd');
/* Создает массив с ключами 'а', 'Ь' и 'с' и значениями 1, 2 и 3,
а также ключи 0, 1 и 2 со значениями 'а', 'Ь' и 'с' */
$myarray = array('а'=>1, 'a', 'b'=>2, 'b', 'с'=>3, 'с');
/* Создает массив, который присваивает ключи от 1 до 7 дням недели */
$days = array(1=>"Воскресенье", "Понедельник", "Вторник",
"Среда", "Четверг", "Пятница", "Суббота");
?>

Категория: Все о PHP | Просмотров: 1203 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru