• доступно о веб-разработке
07.11.2012 PHP, Технологии

Массивы / Неделя PHP

Информация сама по себе редко путешествует в элементарной форме. Обычно пересылаются целые массивы данных. Как и обещал вчера, сегодня рассказываю о массивах.

Представьте, что у вас есть переменная, в которой хранится название цвета.

<?php

$color = "white";

Но что же делать, если вам нужно хранить несколько цветов как единое целое?

Как вы уже догадались, надо использовать массив.

<?php

$colors = array(
    'white',
    'blue',
    'red',
);

Как видите, массив определяется кодовым словом array, а в скобках после него содержатся входящие в него переменные.

На самом деле на примере выше мы видим и задаем только значения переменных. Но каждая переменная массива имеет еще и свой ключ.

<?php

$colors = array(
    0 => 'white',
    1 => 'blue',
    2 => 'red',
);

Вот так на самом деле выглядит наш массив. По умолчанию ключи задаются автоматически в числовом виде, причем начиная с 0.

Запомните раз и навсегда. В программировании все перечисления начинаются с нуля. В силу особенностей двоичной системы счисления, на которой зиждется вся компьютерная наука.

Вы можете задавать массив и строчкой, от этого ничего не изменится.

<?php

$colors = array('white','blue','red');

Но нагляднее, все-таки, задавать его столбиком. Поэтому сразу мотайте на ус.

И снова, в этом случае ключи массива задаются автоматически.

Запомните это определение.

<?php

$data = array(
    'ключ' => 'значение',
    'key' => 'value',
);

Значения переменных массива хранятся по ключам.

Как получить значение по определенному ключу? Очень просто.

<?php

echo $colors[0];

// Выведет "white"

Вы уже в квадратных скобках указываете ключ переменной и обратно получаете её значение.

Массивы можно задавать и поэлементно:

<?php

$colors[0] = 'white';
$colors[1] = 'blue';
$colors[2] = 'red';

Однако, не всегда это удобно, поэтому лучше, все же, использовать привычную форму. А поэлементно дополнять или заменять значения по нужным ключам.

Важно знать, что в PHP массивы могут быть как с числовыми ключами, так и с текстовыми. Такие массивы называются «ассоциативные».

<?php

$user = array(
   'name' => 'Dmitiry',
   'surname' => 'Belyaev',
   'email' => 'admin@codemotion.ru',
);

Обратите внимание, что числовые ключи указываются без кавычек, а строковые — в кавычках, как и любые строки.

<?php

echo 'Я увидел в метро '.$user['name'].' и решил написать ему на почту '.$user['email'];

Вот вам задание — что выведет на экран этот код?

Массивы могут быть многомерными.

<?php

$user = array(
    'name' => 'Ivan',
    'location' => array(
        'city' => 'Saint-Petersburg',
        'post_index' => '197000',
        'address' => 'Lenina str. 12 app. 29',
    ),
);

echo $user['name'].' lives in '.$user['location']['city'].' at '.$user['location']['address'];

Что выведет этот код?

Многомерностью массивов не стоит увлекаться. Третий или четвертый уровень — это максимум того, что обычно используется.

Над массивами можно производить массу разных операций — сортировать их по ключам в разном порядке, по значениям и так далее.

Библия PHP-программиста — это официальный сайт PHP и документация.

Полный список возможных манипуляций с массивами вы найдете по ссылке:

http://www.php.net/manual/ru/ref.array.php

Если вы хотите еще что-то узнать про массивы, пишите в комментариях. А так, в процессе обучения, мы будем постоянно с ними работать.

Поделиться

Комментарии Правила дискуссии