01.06.2008, 00:03
общий
это ответ
Здравствуйте, Гальцов Андрей!
<b><u>Ссылки: </u></b>
<a href=http://php.mirror.camelnetwork.com/manual/ru/language.types.array.php>php.mirror.camelnetwork.com</a>
<a href=http://kurepin.ru/php/array/>kurepin.ru</a>
<a href=http://vvz.nw.ru/Lessons/php/arrays.php>vvz.nw.ru</a>
В PHP можно определять т.н. ассоциативные массивы, представляющие собой наборы пар ключ - значение. В отличие от многих других языков, где "ключами" (индексами) могут быть только целые неотрицательные числа, в PHP ключ может быть строкой (а может - и целым неотрицательным числом).
Объявление массива без инициализации
$data = array();
Объявление массива с инициализацией
Пусть, например, мы хотим хранить в ассоциативном массиве $textOptions некие параметры шрифта, а в массиве $days с целочисленными ключами - названия дней недели. Их можно объявить с инициализацией ряда элементов, а потом при необходимости добавлять новые элементы.
$textOptions = array( ‘font-family‘=>‘Arial‘ , ‘color‘=>‘red‘ , ‘font-size‘=>12 );
$days = array( 0=>‘Monday‘ , 1=>‘Tuesday‘);
или
$days = array( ‘Monday‘,‘Tuesday‘);
Добавление элементов в массив
В определенные выше массивы можно добавлять элементы:
$textOptions[‘background-color‘] = ‘#EEEEEE‘;
$textOptions[‘border‘] = ‘green dotted 3px‘;
$days[2] = ‘Wednesday‘;
$days[3] = ‘Thursday‘;
В случае массива с целочисленными ключами ключи можно не указывать:
$days[] = ‘Friday‘;
$days[] = ‘Suturday‘;
$days[] = ‘Sunday‘;
При этом значения ключам присваиваются последовательно, начиная со значения, на единицу большего уже существующего максимального ключа.
Примеры и примечания
Для перебора всех элементов массива очень удобно использовать оператор foreach. Определим такие (кстати, многомерные) массивы:
$student[‘Mitina‘] = array(‘name‘=>"Maria", ‘age‘=>19);
$student[‘Borisova‘] = array(‘name‘=>"Alexandra", ‘age‘=>19);
$teacher[‘Zakharkina‘] = array(‘name‘=>"vvz", ‘age‘=>‘NA‘);
$teacher[‘Pankratov‘] = array(‘name‘=>"pan", ‘age‘=>‘NA‘);
и выведем значения с помощью операторов
foreach ( $student as $k=>$v )
{
echo "<b>$k</b>
";
echo $v[‘name‘]." (".$v[‘age‘]." years)<p>";
};
Вот результат:
Mitina
Maria (19 years)
Borisova
Alexandra (19 years)<p><fieldset style=‘background-color:#EFEFEF; width:80%; border:#777777 1px solid; padding:10px;‘ class=fieldset><font color=#777777><i>Исправлено по просьбе отвечающего</i>
-----
</font><font color=#777777 size=1><b>• Отредактировал: <a href=http://rusfaq.ru/info/user/8032 target=_blank>Устинов С.Е.</a></b> (Профессионал)
<b>• Дата редактирования:</b> 01.06.2008, 00:13 (MCK)</font></fieldset>