Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
230102 5к / Сети ЭВМ / Сети ЭВМ и телекоммуникации(ПОСЛЕДНЯЯ ВЕРСИЯ).doc
Скачиваний:
55
Добавлен:
20.04.2015
Размер:
370.18 Кб
Скачать

4.7. Массивы и списки.

Массив – это упорядоченный набор данных. Каждый элемент массива имеет свой уникальный индекс или ключ, который не повторяется у других элементов. Т.е. в одном массиве не может быть двух элементов с одинаковыми индексами. Массивы очень удобны, когда мы работаем с большим количеством однотипных элементов.

Пример создания самого простого массива:

$people[0]=”Коля”;

$people[1]=”Вова”;

$people[2]=”Дима”;

$people[3]=”Сергей”;

Квадратные скобки означают, что это массив. Числа, которые стоят в них, являются уникальными ключами элементов. Элементами являются слова в кавычках. Имя массива будет $people.

Обратится к любому элементу можно по имени массива и индексу. Например:

echo $people[0];

Если у нас возникает необходимость вывести все элементы массива, то мы можем воспользоваться функцией count и циклом for. Выглядеть это будет следующим образом:

For ($i=0: $i<count($people); $i++) echo “$people[$i] <br>”;

Списки – это особый класс массивов, у которых индексы элементов являются числами и начинаются с нуля без пропусков. Приведенный выше пример массива $people является списком. PHP позволяет не прописывать номера индексов. Он создает их автоматически. Это позволяет нам не совершить ошибку и не присвоить двум элементам разные индексы.

$people[]=”Коля”;

$people[]=”Вова”;

$people[]=”Дима”;

$people[]=”Сергей”;

Существует ещё один класс массивов ассоциативные. У них вместо чисел индексами является строка, состоящая из любых символов и любого их количества.

$people[Веселов]=”Сергей Александрович”;

$people[Бережанский]=”Павел Вячеславович”;

$people[Морозов]=”Дмитрий Олегович ”;

Иногда возникает необходимость создания массива, у которого каждый элемент имеет несколько параметров. Такой массив называется многомерным и обычно создается с помощью инструкции ARRAY. Пример:

$A=array (

Veselov” = array (“name”=>”Веселов С.” , “pol”=>”M” , “email”=>Veselov@ya.ru),

Ivanov” = array (“name”=>”Иванов И.” , “pol”=>”M” , “email”=>Ivanov@mail.ru),

Esakov” = array (“name”=>”Есаков А.” , “pol”=>”M” , “email”=>Esakov@rambler),

);

Выбрать элемент можно следующим образом:

Echo $a[“Ivanov”][“name”]; // выведет Иванов И.

Echo $a[“Veselov”][“email”]; // выведет Veselov@ya.ru

Операции над массивами.

С массивами можно осуществлять следующие операции:

Удаление

Слияние

Перебор

1.Удаление осуществляется с помощью функции unset().

2.Слияние двух массивом можно осуществить двумя способами, с помощью оператора «+» или функции array_merge.

Рассмотрим как осуществляется слияние с помощью оператора «+» на примере:

$a=array(“1”=>”odin”,”2”=>”dva”);

$b=array(“3”=>”tri”,”4”=>”chetyre”);

Было создано два массива, теперь создим третий, как слияние первого и второго.

$c=$a+$b, в результате получим новый массив c

(“1”=>”odin”, ”2”=>”dva”, “3”=>”tri”, ”4”=>”chetyre”);

Примечание: нужно быть очень аккуратными при слиянии списков, т.к. в PHP при слиянии элементов с одинаковыми индексами в результирующем массиве, останутся только элементы первого списка.

$a=array(1,2,3);

$b=array(4,5,1); новый массив c будет состоять из элементов 1,2,3.

Второй способ слияния с помощью функции array_merge. Этот способ убирает все недостатки первого, т.е. не возникает проблем со слияние списков с числовыми ключами.

$a=array(1,2,3);

$b=array(4,5,1);

$c=array_merge($a,$b); // $c=array(1,2,3,4,5,1)

3. Перебор массивов заключается в том, чтобы при каждой итерации (повторении) цикла одновременно получать ключ и значение текущего элемента массива. Для перебора используется цикл foreach:

Foreach ($c as $key=>$value) {echo "$key=$value <br>";}

Добавление и удаление элемента массива.

Для добавления одного или нескольких новых элементов в конец массива используется функция array_push.

Пример. Добавить новых пять элементов 6,7,8,9,0 в массив $a=array(1,2,3,4,5).

Array_push ($a,6,7,8,9,0); (так же мы можем создать новый массив $d)

$d= Array_push ($a,6,7,8,9,0);

Противоположной функцией для array_push будет array_pop. Но в отличие от array_push функция array_pop удаляет только один последний элемент массива.

Пример. Удалить два элемента массива $b=array(a,b,c,d).

array_pop($b);

array_pop($b);

Существуют функции, которые позволяют добавлять и удалять элементы в начале списка, в отличии от двух предыдущих, которые производили эти операции в конце. Для добавления используется функция array_unshift, а для array_shift.

Сортировка массивов.

Сортировка массивов по значению, осуществляется с помощью функции asort() и arsort(). asort() сортирует элементы массива по алфавиту, если это строки, или возрастанию, если это числа. Соответственно arsort() выполняет все в обратном порядке.

Пример. Упорядочим массив