Аналогичным образом
Posted in: Массивы, By: admin, At: Январь 20th, 2008
function assign_key() { return 1 d’;
} .
$foo['a'] » 1; Sfoofb’] = 2; Sfoofc’] = 3;
Sfoo[assign_key()] = 4; /*3начение ключа присваиваемого элемента равно ‘d’*/
Аналогичным образом можно манипулировать каждым из этих четырех ключей и использовать их подобно любой другой переменной РНР, как показано в листинге 2.2.
Листинг 2.2. Манипуляции значениями массива
/* Sfoo['b'] сейчас равно 1+3=4*/ Sfool’b'J • $foo['a'] + Sfoofc’];
НА ЗАМЕТКУ ■■
Замена переменных в строках а двойных кавычках (подобных, например, “значение \Smyvar равно Smyvar”), может оказаться сложной, когда переменная, которую нужно вычислить, хранится в виде ключа массива. Чтобы преодолеть это, должны использоваться фигурные скобки, чтобы гарантировать, что РНР правильно обработает строку:
Svar - “Значение \$foo['b'] = {Sfoo['b'])”;
Если
Листинг 2.3. Автоматическая генерация индексов массива
$foo[] = “Значение 1″; /* Присвоен ключ 0 */
Sfoo[] ” “Значение 2я; /* Присвоен ключ 1 */
Sfoo[5] = “Значение 3″; /* Присвоен ключ 5 */
Sfoo[] = “Значение 4″; /* Присвоен ключ 6 */
формальный синтаксис работы с массивом — с использованием функции array О - Общий синтаксис функции array () выглядит так:
Svariable * array([mixed ...]);
В приведенном синтаксисе с помощью mixed представлены различные пары ключ/значение, определенные в следующем формате:
В частности, PHP-код в листинге 2,4 создает тот же массив Sfoo, что и предыдущие примеры, использующие формальный синтаксис:
Листинг 2.4. Использование функции array ()
/* Массивы Sfoo и Sbar эквиваленты */
Sfoo = array(’а’ => 1, ‘b’ => 2, ‘с’ => 3) ;
Sbar['а'] - 1;
Sbar['b'] = 2;
Sbar['с'] = 3;
В менее формальном виде функция array () может автоматически присваивать ключи, если они не указаны явно. Если это желательно, пропустите значение ключа и операцию =>, как показано в листинге 2.5.
Листинг 2.5. Дополнительные примеры использования массивов
/.* Создает массив с ключами от 0 до 3 */ Smyarray = array(’a', ‘b’, ‘с1, ‘d’);
/* Создает массив с ключами ‘а’, ‘Ь’ и ‘с’ и значениями 1, 2 и 3, а также ключи 0, 1 и 2 со значениями ‘а’, 1b1 и ‘с’ */ Smyarray = array)’а’=>!, ‘а’, ‘Ь’=>2, ‘Ь1, ‘с’=>3, ‘с’);
/* Создает массив, который присваивает ключи от 1 до 7 дням недели */ Sdays = array(1=>”Воскресенье”, “Понедельник”, “Вторник”, “Среда”, “Четверг”, “Пятница”, “Суббота”);
Многомерные массивы
До сих пор все ваши массивы были одномерными, и это означало, что ни один из элементов массива не был массивом. По определению, создание многомерных массивов не сложнее, чем присвоение значения одного ключа массива другому массиву.
Как и любые другие массивы, многомерные массивы могут быть созданы с помощью формального синтаксиса {функции array ()), либо с использованием более простого синтаксиса с квадратными скобками, как показано в листинге 2.б.
Leave a Reply