Синтаксис php (811590), страница 6
Текст из файла (страница 6)
А именно,она получает в параметрах массив $Arr и превращает каждую его пару ключ=>значение впеременную текущего контекста.Создание списка – диапазона чиселrange(int $low, int $high)Эта функция очень простая. Она создает список, заполненный целыми числами от $low до$high включительно.Счетчик элементов массиваДля подсчета элементов массива предназначена функция count().Пример использования функции count():<?php$arr[]=5;$arr[]=4;$arr[]=8;$arr[]=3;$arr[]=8;echo "<h2>Число элементов массива: ".count($arr)."</h2>";// Выводит: Число элементов массива: 5?>Удаление массива и его элементовЕсли вы хотите удалить массив целиком, воспользуйтесь функцией unset().Если вы хотите удалить пару ключ/значение, вы также можете использовать функциюunset().
Приведем конкретные примеры:<?php$arr = array(5 => 1, 12 => 2);$arr[] = 56;// В этом месте скрипта это// эквивалентно $arr[13] = 56;$arr["x"] = 42; // Это добавляет к массиву новый// элемент с ключом "x"unset($arr[5]); // Это удаляет элемент из массиваunset($arr);?>// Это удаляет массив полностьюНекоторые особенности работы с массивамиПреобразование в массив (тип array)Для любого из типов: integer, float, string, boolean и resource, если вы преобразуетезначение в массив, вы получите массив с одним элементом (с индексом 0), являющимсяскалярным значением, с которого вы начали.Если вы преобразуете в массив объект (object), вы получите в качестве элементов массивасвойства (переменные-члены) этого объекта.
Ключами будут имена переменных-членов.Если вы преобразуете в массив значение NULL, вы получите пустой массив.Сравнение массивовМассивы можно сравнивать при помощи функции array_diff() и операторов массивов:Операторы, работающие с массивами:Пример$a + $bНазваниеОбъединение$a == $b РавноРезультатОбъединение массива $a и массива $b.TRUEв случае, если $a и $b содержат одни и те жеэлементы.$a ===$bТождественноравноTRUE в случае, если $a и $b содержат одни и те жеэлементы в том же самом порядке.$a != $bНе равноTRUE если массив $a не равен массиву $b.$a <> $b Не равноTRUE если массив $a не равен массиву $b.$a !== $bТождественно неравноTRUE если массив $a не равен тождественно массиву $b.Пример сравнения массивов:<?php$a = array("apple", "banana");$b = array(1 => "banana", "0" => "apple");var_dump($a == $b); // bool(true)var_dump($a === $b); // bool(false)?>Полезные практические примеры по работе с массивами<?php// это$a = array( 'color' => 'red','taste' => 'sweet','shape' => 'round','name' => 'apple',4// ключом будет 0);// полностью соответствует$a['color'] = 'red';$a['taste'] = 'sweet';$a['shape'] = 'round';$a['name'] = 'apple';$a[]= 4;// ключом будет 0$b[] = 'a';$b[] = 'b';$b[] = 'c';// создаст массив array(0 => 'a' , 1 => 'b' , 2 => 'c'),// или просто array('a', 'b', 'c')?>Еще один практический пример:<?php// Массив как карта (свойств)$map = array( 'version'=> 4,'OS'=> 'Linux','lang'=> 'english','short_tags' => true);// исключительно числовые ключи$array = array( 7,8,0,156,-10);// это то же самое, что и array(0 => 7, 1 => 8, ...)$switching = array(53'a'=>=>=>10, // ключ = 06,7,4,11, // ключ = 6 (максимальным числовым индексом был 5)'8' => 2, // ключ = 8 (число!)'02' => 77, // ключ = '02'0=> 12 // значение 10 будет перезаписано на 12);// пустой массив$empty = array();?>Коллекция:<?php$colors = array('красный', 'синий', 'зеленый', 'желтый');foreach ($colors as $color) {echo "Вам нравится $color?\n";}?>Результат работы рассмотренного скрипта:ВамВамВамВамнравитсянравитсянравитсянравитсякрасный?синий?зеленый?желтый?Следующий пример создает начинающийся с единицы массив:<?php$firstquarter = array(1 => 'Январь', 'Февраль', 'Март');print_r($firstquarter);?>Результат работы приведенного скрипта будет следующий:Array([1] => 'Январь'[2] => 'Февраль'[3] => 'Март')Пример заполнения массива:<?php// заполняет массив всеми элементами директории$handle = opendir('.');while (false !== ($file = readdir($handle))) {$files[] = $file;}closedir($handle);?>Массивы упорядочены.
Вы можете изменять порядок элементов, используя различныефункции сортировки. Для дополнительной информации смотрите раздел функции дляработы с массивами. Вы можете подсчитать количество элементов в массиве, используяфункцию count().Рекурсивные и многомерные массивы:<?php$fruits = array ( "фрукты" => array ( "a" => "апельсин","b" => "банан","c" => "яблоко"),"числа" => array ( 1,2,3,4,5,6),"дырки" => array ("первая",5 => "вторая","третья"));// Несколько примеров доступа кecho $fruits["дырки"][5];//echo $fruits["фрукты"]["a"]; //unset($fruits["дырки"][0]); //значениям предыдущего массиванапечатает "вторая"напечатает "апельсин"удалит "первая"// Создаст новый многомерный массив$juices["яблоко"]["зеленое"] = "хорошее";?>Обратите внимание, что при присваивании массива всегда происходит копированиезначения.
Чтобы копировать массив по ссылке, вам нужно использовать оператор ссылки:<?php$arr1 = array(2, 3);$arr2 = $arr1;$arr2[] = 4; // $arr2 изменился,// $arr1 по прежнему array(2,3)$arr3 = &$arr1;$arr3[] = 4; // теперь $arr1 и $arr3 эквивалентны?>.