Массивы и ассоциативные массивы в php
Среда, 11 августа 2010 г.Рубрика: PHP программирование -> Массивы
Метки: массивы
Просмотров: 1792
Подписаться на комментарии по RSS
Для начала давайте рассмотрим простой пример:
Допустим что у Вас есть 4 значения и Вы хотите их присвоить переменным:
<?php $a = 1; $b = 2; $c = 3; $d = 4;
А если Вам потребуется прописать 25 переменных, то наверное это будет не
удобно, для этого и существуют
массивы, в которые записываются все Вам нужные значения.
Для начала объявляем массив, это делать не обязательно, но для избежания
ошибок всё таки требуется делать, так как если
у Вас до этого была какая нибудь переменная с таким же названием как и
массив, то все данные будут записываться именно в ту переменную, что нам
не нужно,
объявление массива пишется так:
$a = array (); /* Объявление массива */
Теперь - если мы хотим элементу массива под номером один присвоить какое
нибудь значение,
номера элементов массива обозначаются индексом ( числом ), вот пример
как присвоить первому элементу массива значение 5:
<?php $a = array (); /* Объявляем массив */ $a[1] = 5; /* Присваиваем 1 элементу массива значение 5 */ echo $a[1]; /* Выводим первый элемент массива со значением 5 */
По выполнению этого скрипта у нас появится на экране значение первого
элемента массива, а именно 5.
Также если Вы хотите просто просмотреть содержимое всего массива, то для
этого существует специальная команда - print_r - она будет выводить
номера элемента массива и его значение,
давайте рассмотрим простой код скрипта, где массиву присвоим два
значения и выведем всё это и номера элементов при помощи команды print_r
<?php $a = array (); /* Объявляем массив */ $a[1] = 1; $a[2] = 2; print_r ($a); /* Выводим все значения массива с его номерами */
Эта команда не обязательна, но в некоторых случаях без неё не обойтись.
Но выводит эта команда значения массива в одну строку, что не удобно,
для того чтобы она выводила всё с переносами, надо прописать до скрипта
html теги - <pre></pre>
Вот доработанный код:
<?php $a = array (); /* Объявляем массив */ $a[1] = 1; $a[2] = 2; print_r ($a); /* Выводим все значения массива с его номерами */ ?>
Как видим мы вставили до кода скрипта html теги позволяющие выводить все
элементы массива с переносами.
Также записывать данные в массив можно и в его объявлении, делается это
при помощи такого знака "=>" равно значок больше, сначала пишется
индекс элемента массива потом его значение, вот полный код:
<?php $a = array (1=>1, 2=>2, 3=>'Good'); /* Объявляем массив и заносим данные */ print_r ($a); /* Выводим все значения массива с его номерами */ ?>
Как видите из этого примера - мы берём два элемента массива и заносим в
них числа, а в третий элемент массива заносим строку, которая должна
быть в одинарых кавычках '' .
Теперь представьте, что у Вас есть массив в котором сто элементов, и Вы
просто хотели бы вывести их значения без их индекса, для этого можно
использовать цикл for,
все условия цикла такие же, только исполняемая часть другая, давайте
рассмотрим это на примере:
<?php
$a = array (1=>1, 2=>2, 3=>'Good'); /* Объявляем массив и
заносим данные */
for ( $i=0, $i<=3, $i++ ); {
echo $a[$i]."
";
}
?>
Теперь разберём весь код - в цикле есть переменная $i которая изначально
равна 0, цикл будет выводить элементы массива пока $i не равна 3,
увеличиваем $i командой $i++,
теперь исполняемый код - выводим элемент массива $a, под индексом -
переменная $i ( её значением - 1, 2, 3, и т.д. ), после ставим перенос,
чтобы значения массива переносились, ну или если Вы хотите переносить
элементы без <br>, то можете просто прописать команду - \r\n -
сдесь она будет работать, так как у Вас до кода стоят специальные теги.
Также обозначать индекс элемента массива не обязательно, можно просто
поставить двойные скобки и индекс определится автоматичекси, если
конечно же Вы используете числовой индекс.
А теперь давайте разберём что же такое ассоциативный массив.
Ассоциативный массив - это тот же самый массив, только у него вместо
числово индекса элемента используется строковый - или вместо - 1, 2, 3 -
'первый', 'второй', 'третий', вот его пример:
<?php
$a = array ('первый'=>1, 'второй'=>2);
print_r ($a);
?>


массивы-достаточно полезная штука при работе с большим количеством переменных. в php достаточно удобный способ работы с массивами