Скачать презентацию Мировые информационные ресурсы Лекция 3 Массивы Массивы Скачать презентацию Мировые информационные ресурсы Лекция 3 Массивы Массивы

МИР_03_PHP.ppt

  • Количество слайдов: 57

Мировые информационные ресурсы Лекция 3. Массивы Мировые информационные ресурсы Лекция 3. Массивы

Массивы представляют собой коллекции пар «ключ / значение» . При обращении к массиву выполняется Массивы представляют собой коллекции пар «ключ / значение» . При обращении к массиву выполняется отображение значения ключа (индекса) в соответствующее ему значение. В качестве индексов могут выступать либо целые числа, либо строковые значения. Элементы массива могкт содержать значения любого типа, включая другие массивы.

Одномерные индексируемые массивы Обращение к элементу: $имя[индекс1]; Создание элементов: $arr[0] = Одномерные индексируемые массивы Обращение к элементу: $имя[индекс1]; Создание элементов: $arr[0] = "element 0"; $arr[1] = "element 1"; $arr[2] = "element 2"; Добавление нового элемента в конец массива - присвоить значение переменной массива без указания индекса: $arr[ ] = "element 0"; $arr[ ] = "element 1"; $arr[ ] = "element 2"; Добавление в конкретную позицию массива $languages[15] = "Italian"; $languages[22] = "French";

Одномерные ассоциативные массивы - удобны в ситуациях, когда элементы массива удобнее связывать со словами, Одномерные ассоциативные массивы - удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами. Создание: $myhash["name 1"] = "element 1"; $myhash["name 2"] = "element 2"; $myhash["name 3"] = "element 3"; Вывод элемента массива $myhash: print $myhash["name 2"]; // Выводится строка "element 2"

Многомерные индексируемые массивы работают практически так же, как и одномерные, но элементы в них Многомерные индексируемые массивы работают практически так же, как и одномерные, но элементы в них определяются несколькими индексами вместо одного. Размерность индексируемого массива не ограничивается. Обобщенный синтаксис элементов: $имя[индекс1][индекс2]. . [индекс. N];

Многомерные ассоциативные массивы $pairings[ Многомерные ассоциативные массивы $pairings["Beringer"]["merlot"] = "Baked Ham"; $pairings["Jarvis"]["sauvignon"] = "Prime Rib"; Смешанное индексирование Пример: $arr[1]["name"] = "Иван"; $arr[1]["age"] = 22; $arr[2]["name"] = "Петр"; $arr[2]["age"] = 20; Пример ссылки на элемент двухмерного смешанного массива: $person = $arr[1]["name"];

"element 2"," src="https://present5.com/presentation/3737549_48585404/image-7.jpg" alt="Функция аrrау() $myhash = аrrау(name 1 => "element 1", name 2 => "element 2"," /> Функция аrrау() $myhash = аrrау(name 1 => "element 1", name 2 => "element 2", name 3 => "element 3"); $myarray 1 = аrrау(1, 2, 3); $myarray 1 = аrrау(0 => 1, 1 => 2, 2 => 3); # эквивалентно предыдущей записи $myarray 2 = аrrау(1 => "element 1", 2 => "element 2", 3 => "element 3"); $myarray 2 = аrrау(1 => "element 1", "element 2", "element 3"); # эквивалентно предыдущей записи $myarray 3 = array (array("name" => "Иван", "age" => 22), array("name" => "Петр", "age" => 20)); # вложенный массив

Функция print_r() - выводит содержимое массива в удобочитаемом виде. Пример: $myarray = аrrау(1, 2, Функция print_r() - выводит содержимое массива в удобочитаемом виде. Пример: $myarray = аrrау(1, 2, 3); print_r($myarray); Вывод: Array ( [0] => 1 [1] => 2 [2] => 3 )

Обход массива с помощью foreach() foreach ($array as [$key =>] [&] $value) . . Обход массива с помощью foreach() foreach ($array as [$key =>] [&] $value) . . . & указывается в случае, когда значения элементов будут меняться в теле цикла. Пример: $students = array(“Иванов”, “Петров”, “Сидоров”); print “Список студентов: n”; foreach ($students as $key => $value) { print “№$key $valuen”; } Вывод: Список студентов: № 1 Иванов № 2 Петров № 3 Сидоров

"Иван"," src="https://present5.com/presentation/3737549_48585404/image-10.jpg" alt="Обход массива с помощью foreach() Пример: $people = array (1 => array("name" => "Иван"," /> Обход массива с помощью foreach() Пример: $people = array (1 => array("name" => "Иван", "age" => 22), array("name" => "Петр", "age" => 20)); foreach ($people as $person) { if ($people[“age”] >= 20) { $person [“age group”] = “Старше 20 -ти”; } else { $person [“age group”] = “Младше 20 -ти”; }} print_r($people);

Обход массива с помощью foreach() Пример: Вывод: Array ( [1] => Array ( [name] Обход массива с помощью foreach() Пример: Вывод: Array ( [1] => Array ( [name] =>Иван [age] => 22 [age group] => “Старше 20 -ти” ) [2] => Array ( [name] =>Петр [age] => 20 [age group] => “Младше 20 -ти” ) )

Функция list( ) — одновременное присваивание значений, извлеченных из массива, сразу нескольким переменным. Синтаксис Функция list( ) — одновременное присваивание значений, извлеченных из массива, сразу нескольким переменным. Синтаксис команды list( ): list (переменная 1 [, переменная 2 , . . . ] ) Пример: while ($line = fgets ($user_file, 4096)) : list ($name, $occupation, $color) = split( "|", $line); print "Name: $name "; print "Occupation: $occupation "; print "Favorite color: $color "; endwhile;

Курсор массива - внутренний указатель, хранящий текущую позицию в массиве. Функция reset() устанавливает внутренний Курсор массива - внутренний указатель, хранящий текущую позицию в массиве. Функция reset() устанавливает внутренний курсор массива на его начало и возвращает значение начального элемента.

Функция each() возвращает в массиве пару Функция each() возвращает в массиве пару "индекс и значение" текущего элемента массива, на который указывает внутренний курсор, и сдвигает курсор массива на следующий элемент. Синтаксис : array each(array arr); - возвращаемый массив имеет четыре элемента: [0] => индекс [1] => "значение" [key] => индекс [value] => "значение" Функция возвращает false, если курсор достиг конца массива. Пример: $foo = array("bob", "fred", "jussi", "joini", "egon", "marliese"); $bar = each($foo); // теперь $bar = (0=>0, 1=>"bob", key=>0, value=>"bob")

Функция each() Обычно функцию each() используют в паре с list() для перебора элементов массива: Функция each() Обычно функцию each() используют в паре с list() для перебора элементов массива: Пример: $persons = array ("bob", "fred", "jussi", "joini", "egon", "marliese"); reset($persons); while (list($key, $val) = each ($persons)) { print “#$key = $valn”; } Пример: reset($HTTP_POST_VARS); while(list($key, $val) = each($HTTP_POST_VARS)) { echo "$key = %val
"; }

" src="https://present5.com/presentation/3737549_48585404/image-16.jpg" alt="Функция each() Пример: Построение таблицы HTML по содержимому массива $languages = array ("Country" =>" /> Функция each() Пример: Построение таблицы HTML по содержимому массива $languages = array ("Country" => "Language", "Spain" => "Spanish", "USA" => "English", "France" => "French", "Russia" => "Russian"); print "

"; reset ($languages); $hd 1 = key ($languages); $hd 2 = $languages[$hd 1]; print ""; next($languages); while (list ($ctry, $lang) = each ($languages)) : print ""; endwhile; print "
$hd 1$hd 2
$ctry$lang
";

Функция each() Пример: вывод Country Language Spain Spanish USA English France French Russian Функция each() Пример: вывод Country Language Spain Spanish USA English France French Russian

Функция range( ) создает массив целых чисел из интервала, определяемого верхней и нижней границами. Функция range( ) создает массив целых чисел из интервала, определяемого верхней и нижней границами. возвращает массив, состоящий из всех целых чисел указанного интервала. Синтаксис: range (нижняя_граница, верхняя граница) Пример: $lottery = range(0, 9); # $lottery = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

Поиск элементов массива Функция in_array ( ) проверяет, присутствует ли в массиве заданный элемент. Поиск элементов массива Функция in_array ( ) проверяет, присутствует ли в массиве заданный элемент. Если поиск окажется удачным, функция возвращает TRUE, в противном случае возвращается FALSE. Синтаксис: in_array(элемент, массив) Пример: $languages = array("English", "Spanish"): $exists = in_array("Russian", $languages); // $exists присваивается FALSE $exists = in_array("English", $languages): // $exists присваивается TRUE

Поиск элементов массива Функция in_array( ) часто встречается в управляющих конструкциях, когда ее возвращаемое Поиск элементов массива Функция in_array( ) часто встречается в управляющих конструкциях, когда ее возвращаемое значение используется для выбора одного из двух вариантов продолжения. Пример: $language = "Russian"; $email = "user@mail. ru"; if (in_array($language, $languages)) : subscribe_user($email, $language); print "Вы внесены в список расылки, язык подписки: $language. "; else: print "Приносим извинения, но на языке $language новости не рассылаем". endif;

Функция array_keys( ) - возвращает массив, содержащий все ключи исходного массива, переданного в качестве Функция array_keys( ) - возвращает массив, содержащий все ключи исходного массива, переданного в качестве параметра. Если при вызове передается дополнительный параметр искомый_элемент, возвращаются только ключи, которым соответствует заданное значение; в противном случае возвращаются все ключи массива. Синтаксис: array_keys (массив [, искомый_элемент]) Пример: $arr = array(0 => 100, "color" => "red", 15); array_keys($arr); # возвращает array(0, "color", 1) $arr = array("blue", "red", "green", "blue"); array_keys($arr, "blue"); # возвращает array(0, 3, 4)

Функция array_values( ) - возвращает массив, состоящий из всех значений исходного массива, переданного в Функция array_values( ) - возвращает массив, состоящий из всех значений исходного массива, переданного в качестве параметра. Синтаксис: array_values(массив) Пример: $arr = array("size" => "XL", "color" => "gold"); array_values($arr); # возвращает array("XL", "gold")

Добавление и удаление элементов Функция array_push( ) - присоединяет (то есть дописывает в конец Добавление и удаление элементов Функция array_push( ) - присоединяет (то есть дописывает в конец массива) один или несколько новых элементов. Синтаксис: array_push(массив, элемент [, . . . ]) Пример: $languages = array("Spanish", "English", "French"); array_push($languages, "Russian", "German");

Добавление и удаление элементов Функция аrrау_рор( ) - извлекает (то есть удаляет) последний элемент Добавление и удаление элементов Функция аrrау_рор( ) - извлекает (то есть удаляет) последний элемент из массива. Извлеченный элемент возвращается функцией. При каждом выполнении аrrау_рор( ) размер массива уменьшается на 1. Главное различие между этими функциями заключается в том, что array_push( ) может добавлять несколько элементов одновременно, а аrrау_рор( ) удаляет элементы только по одному. Синтаксис: аrrау_рор(аrrау массив) Пример: $languages = array("Spanish", "English", "French", "Russian", "German"); $a_language = array_pop($languages): // $a_language = "German" $a_language = array_pop($languages): // $a_language = "Russian" // $languages = array ("Spanish", "English", "French");

Добавление и удаление элементов Функция array_shift( ) - аналогична аrrау_рор( ) с одним отличием: Добавление и удаление элементов Функция array_shift( ) - аналогична аrrау_рор( ) с одним отличием: элемент удаляется из начала (левого края) массива. Все остальные элементы массива сдвигаются на одну позицию к началу массива. Синтаксис: array_shift(массив) Пример: $languages = array("Spanish", "English", "French", "Russian"); $a_language = array_shift($languages); # $a_language = "Spanish"; // $languages = array("English", "French", "Russian");

Добавление и удаление элементов Функция array_unshift( ) — новый элемент вставляется в начало массива, Добавление и удаление элементов Функция array_unshift( ) — новый элемент вставляется в начало массива, а остальные элементы сдвигаются на одну позицию вправо. Синтаксис: array_unshift (массив, переменная 1 [. . переменная 2]) Пример добавления нескольких элементов: $languages = array("French", "Italian", "Spanish"); array_unshift($languages, "Russian", "Swahili", "Chinese"); // $languages = array("Russian", "Swahili", "Chinese", "French", "Italian", "Spanish");

Добавление и удаление элементов Функция array_pad( ) - позволяет быстро увеличить массив до желаемого Добавление и удаление элементов Функция array_pad( ) - позволяет быстро увеличить массив до желаемого размера посредством его дополнения стандартными элементами. Синтаксис: arrap_pad (массив, размер, значение): - размер определяет новую длину массива. - значение задает стандартное значение, присваиваемое элементам во всех новых позициях массива. - Если размер положителен, массив дополняется справа, а если отрицателен — слева. - Если абсолютное значение параметра размер меньше либо равно длине массива, никаких действий не выполняется.

Добавление и удаление элементов Пример: $weights = array(1, 3, 5, 10, 15, 25, 50); Добавление и удаление элементов Пример: $weights = array(1, 3, 5, 10, 15, 25, 50); $weights = array_pad($weights. 10, 100); // Результат: $weights = array(1, 3, 5, 10, 15, 25, 50, 100, 100); Пример: $weights = array(1, 3, 5, 10, 15, 25, 50); $weights = array_pad($weights, -10, 100); // Результат: $weights = array(100, 1, 3, 5, 10, 15, 25, 50); Пример: $weights = array(1, 3, 5, 10, 15, 25, 50); $weights = array_pad($weigtits, 3, 100); // Массив $weights не изменяется: // $weights = array(1, 3, 5, 10, 15, 25, 50);

Перемещения указателя массива Функция end( ) перемещает указатель к позиции последнего элемента массива. Синтаксис: Перемещения указателя массива Функция end( ) перемещает указатель к позиции последнего элемента массива. Синтаксис: end (массив) Функция next ( ) смещает указатель на одну позицию вперед, после чего возвращает элемент, находящийся в новой позиции. Если в результате смещения указатель выйдет за пределы массива, next ( ) возвращает ложное значение. Синтаксис: next (массив) Недостаток: ложное значение возвращается и для существующих, но пустых элементов массива. Функция prev( ) аналогична next ( ) за одним исключением: указатель смещается на одну позицию к началу массива, после чего возвращается элемент, находящийся в новой позиции. Если в результате смещения указатель окажется перед первым элементом массива, prev( ) вернет ложное значение. Синтаксис: prev (массив) Недостаток: ложное значение возвращается и для существующих, но пустых элементов массива. При необходимости провести обычный перебор, лучше воспользоваться функцией each( ).

Функция array_walk( ) позволяет применить функцию к нескольким (а возможно, всем) элементам массива. Синтаксис: Функция array_walk( ) позволяет применить функцию к нескольким (а возможно, всем) элементам массива. Синтаксис: array_walk(массив, имя_функции [, данные]) Функция, заданная параметром имя_функции, может использоваться для различных целей — например, для поиска элементов с определенными характеристиками или модификации содержимого массива. В ассоциативных массивах функция имя_функции должна получать минимум два параметра — элемент массива и ключ.

"15"," src="https://present5.com/presentation/3737549_48585404/image-31.jpg" alt="Функция array_walk( ) Пример увеличения каждого элемента массива на 1 $number = array ("1"=>"15"," /> Функция array_walk( ) Пример увеличения каждого элемента массива на 1 $number = array ("1"=>"15", "2"=>"20", "3"=>"25"); function printarray ($item, $key) { echo "$key=>$item n"; } function add_array (&$item, $key) # параметр $item придется изменять { $item = $item + 1; } echo("Before: "); array_walk ($number, 'printarray'); echo("After: "); array_walk ($number, 'add_array'); array_walk ($number, 'printarray');

Функция array_walk( ) Результат: Before: 1=>15 2=>20 3=>25 After: 1=>16 2=>21 3=>26 Функция array_walk( ) Результат: Before: 1=>15 2=>20 3=>25 After: 1=>16 2=>21 3=>26

Функция array_walk( ) Пример удаления дубликатов из массива: function delete_dupes($element) { static $last= Функция array_walk( ) Пример удаления дубликатов из массива: function delete_dupes($element) { static $last=""; if ($element == $last) unset($element); else: $last=$element; } $emails = array("blah@blah. com", "chef@mail. ru", "blah@blah. com"); sort($emails); reset($emails); array_walk($emails, "delete_dupes"); // $emails = array("chef@wjgilmore. com", "blah@blah. com");

Функция array_reverse( ) позволяет перейти к противоположному порядку элементов, составляющих массив. При вызове array_reverse( Функция array_reverse( ) позволяет перейти к противоположному порядку элементов, составляющих массив. При вызове array_reverse( ) для ассоциативного массива пары «ключ/значение» сохраняются, изменяется только порядок элементов массива. Синтаксис: array_reverse(массив) Рассмотрим пример использования функции array_reverse( ): $us_producers = array ("California", "Oregon", "New York". "Washington"); $us_producers = array_reverse ($us_producers); // $us_producers = array ("Washington", "New York", "Oregon", "California");

Функция array_flip( ) меняет местами ключи и значения элементов массива. Синтаксис: array_flip(массив) Пример: $languages Функция array_flip( ) меняет местами ключи и значения элементов массива. Синтаксис: array_flip(массив) Пример: $languages = array("Spain" => "Spanish", "France" => "French", "Italy" => "Italian"); $languages = array_flip($languages); // $languages = array("Spanish" => "Spain", // "French" => "France", // "Italian" => "Italy");

Размер массива Функция sizeof ( ) возвращает количество элементов в массиве. Синтаксис: sizeof (массив) Размер массива Функция sizeof ( ) возвращает количество элементов в массиве. Синтаксис: sizeof (массив) Пример: $us_producers = array ("Washington", "New York", "Oregon", "California"); for ($i = 0; $i < sizeof ($us_producers); $i++) : print "$us_producers[$i]"; endfor; Пример: $pasta = array("bowties", "angelhair", "rigatoni"); $pasta_size = sizeof($pasta); // $pasta_size = 3

Размер массива Функция count( ) выполняет ту же операцию, что и sizeof ( ) Размер массива Функция count( ) выполняет ту же операцию, что и sizeof ( ) — возвращает количество значений, содержащихся в массиве. Синтаксис: count (переменная) - если переменная существует и является массивом, count ( ) возвращает количество элементов в массиве; - если переменная существует, но не является массивом, функция возвращает значение 1; - если переменная не существует, возвращается значение 0.

Размер массива Функция array_count_values( ) подсчитывает количество экземпляров каждого значения в массиве. Синтаксис: array_count_values(массив): Размер массива Функция array_count_values( ) подсчитывает количество экземпляров каждого значения в массиве. Синтаксис: array_count_values(массив): - возвращает массив, где ключами будут значения исходного массива, а значениями — их частоты: Пример: $states = аrrау("ОН", "ОК", "СА", "РА", "ОН", "РА", "АК"); $state_freq = array_count_values($states); // $state_freq = аrrау("ОН" => 3, "ОК" => 1, "СА" => 1, "РА" => 2, "АК" => 1);

Сортировка массивов В РНР существует девять стандартных функций сортировки, причем каждая функция сортирует массив Сортировка массивов В РНР существует девять стандартных функций сортировки, причем каждая функция сортирует массив особым образом. sort, rsort, arsort, krsort, uasort, uksort Функция sort( ) сортирует элементы массива по возрастанию (от меньших к большим). Синтаксис: sort (массив) Нечисловые элементы сортируются в алфавитном порядке в соответствии с ASCII-кодами.

Сортировка массивов Пример: $cities = array( Сортировка массивов Пример: $cities = array("Aprilia", "Nettuno", "Roma", "Venezia", "Anzio"); sort($cities); for (reset($cities); $key = key ($cities); next ($cities)): print("cities[$key] = $cities[$key] "; Endfor; Результат: cities[0] = Anzio cities[1] = Aprilia cities[2] = Nettuno cities[3] = Roma cities[4] = Venezia

Сортировка массивов Функция rsort ( ) - элементы массива сортируются в обратном порядке. Синтаксис: Сортировка массивов Функция rsort ( ) - элементы массива сортируются в обратном порядке. Синтаксис: rsort (массив) Пример: $cities array("Aprilia", "Nettuno", "Roma", "Venezia", "Anzio"); rsort($cities); Результат сортировки: cities[0] = Venezia cities[1] = Roma cities[2] = Nettuno cities[3] = Aprilia cities[4] = Anzio

Сортировка массивов Функция asort( ) сохраняет исходную ассоциацию индексов с элементами независимо от нового Сортировка массивов Функция asort( ) сохраняет исходную ассоциацию индексов с элементами независимо от нового порядка элементов. Синтаксис: asort(массив) Пример: $cities = array("Aprilia", "Nettuno", "Roma", "Venezia", "Anzio"); asort($cities): В результате сортировки: cities[4] = Anzio cities[0] = Aprilia cities[1] = Nettuno cities[2] = Roma cities[3] = Venezia

"Zero", "b"=>"Weapon", "c"=>"Alpha", "d"=>"Processor "); asort($A); foreach($A as $k=>$v) echo "$k=>$v" src="https://present5.com/presentation/3737549_48585404/image-43.jpg" alt="Сортировка массивов Пример: $A=array("a"=>"Zero", "b"=>"Weapon", "c"=>"Alpha", "d"=>"Processor "); asort($A); foreach($A as $k=>$v) echo "$k=>$v" /> Сортировка массивов Пример: $A=array("a"=>"Zero", "b"=>"Weapon", "c"=>"Alpha", "d"=>"Processor "); asort($A); foreach($A as $k=>$v) echo "$k=>$v "; Вывод c=>Alpha d=>Processor b=>Weapon a=>Zero

Сортировка массивов Функция arsort ( ) представляет собой разновидность asort( ), которая сохраняет исходную Сортировка массивов Функция arsort ( ) представляет собой разновидность asort( ), которая сохраняет исходную ассоциацию индексов, но сортирует элементы в обратном порядке. Синтаксис : arsort (array массив) Пример: $cities = array("Aprilia", "Nettuno", "Roma", "Venezia", "Anzio"); arsort($cities); В результате сортировки: cities[3] = Venezia cities[2] = Roma cities[1] = Nettuno cities[0] = Aprilia cities[4] = Anzio

Сортировка массивов Функция ksort( ) сортирует массив по ключам, сохраняя исходные ассоциации ключей со Сортировка массивов Функция ksort( ) сортирует массив по ключам, сохраняя исходные ассоциации ключей со значениями. Синтаксис: ksort (массив) Пример: $A=array("d"=>"Zero", "c"=>"Weapon", "b"=>"Alpha", "a"=>"Processor"); ksort($A); for(reset($A); list($k, $v)=each($A); ) echo "$k=>$v "; Вывод a=>Processor b=>Alpha c=>Weapon d=>Zero

Сортировка массивов Функция krsort( ) аналогична ksort( ), но ключи сортируются в обратном порядке. Сортировка массивов Функция krsort( ) аналогична ksort( ), но ключи сортируются в обратном порядке. Синтаксис: krsort ($массив) Пример: $producers = array ( "America" => "Napa Valley", "Italy" => "Tuscany", "Australia" => "Ruthgerlen", "France" => "Loire". "Chile" => "Rapel Valley"); krsort($producers); В результате сортировки: "Italy" => "Tuscany" "France" => "Loire" "Chile" => "Rapel Valley" "Australia" => "Ruthgerlen" "America" => "Napa Valley"

Сортировка с пользовательскими критериями Функция usort( ) usort (массив, string имя_функции) - в параметре Сортировка с пользовательскими критериями Функция usort( ) usort (массив, string имя_функции) - в параметре массив передается имя сортируемого массива, - в параметре имя_функции передается имя функции, на основании которой будет осуществляться сортировка. Пример: сортировка массива по длине $vocab = аrrау( "Socrates", "Aristophanes", "Plato", "Aeschylus", "Thesmophoriazusae"); function compare_length($str 1, $str 2) { $length 1 = strlen($str 1); $length 2 = strlen($str 2); //функция strlen( ) - определение длины строки

Сортировка с пользовательскими критериями if ($length 1 == $length 2) : return 0; elseif Сортировка с пользовательскими критериями if ($length 1 == $length 2) : return 0; elseif ($length 1 < $length 2) : return -1; else : return 1; endif; } // Вызов usort() с указанием функции compare_length() в качестве критерия сортировки usort ($vocab, "compare_length") : // Вывод отсортированного списка while (list ($key, $val) = each ($vocab)) { echo "$val "; }

Сортировка с пользовательскими критериями Пример: function FCmp($a, $b) { return strcmp($a, $b); } //функция Сортировка с пользовательскими критериями Пример: function FCmp($a, $b) { return strcmp($a, $b); } //функция strcmp(str 1, str 2) сравнивает две строки посимвольно и возвращает // 0 - если строки полностью совпадают, //-1 - если строка str 1 лексикографически меньше str 2, // 1 - если, str 1 "больше" str 2. $A = array("One", "Two", "Three", "Four"); usort($A); for($i=0; $i

Сортировка с пользовательскими критериями Пример: function cmp($a, $b) { if($a==$b) return 0; return ($a Сортировка с пользовательскими критериями Пример: function cmp($a, $b) { if($a==$b) return 0; return ($a > $b) ? -1 : 1; } $a=array (3, 2, 5, 6, 1); usort($a, "cmp"); while(list($key, $val)=each($a)) { echo "$key: $valn"; } При выполнении будет напечатано: 0: 6 1: 5 2: 3 3: 2 4: 1

Сортировка с пользовательскими критериями Пример сортировки многомерного массива: function cmp($a, $b) { return strcmp($a[ Сортировка с пользовательскими критериями Пример сортировки многомерного массива: function cmp($a, $b) { return strcmp($a["fruit"], $b["fruit"]); }; $fruit[0]["fruit"]="lemons"; $fruit[1]["fruit"]="apples"; $fruit[2]["fruit"]="grapes"; usort($fruit, "cmp"); while(list($key, $val)=each($fruit)) { Вывод: $fruit[0]: apples $fruit[1]: grapes $fruit[2]: lemons echo "$fruit[$key]: ". $val["fruit"]. "n"; } При сортировке многомерных массивов $a и $b содержит ссылки на первый индекс массива.

Сортировка с пользовательскими критериями Функции uasort( ) и uksort( ) представляют собой разновидности usort( Сортировка с пользовательскими критериями Функции uasort( ) и uksort( ) представляют собой разновидности usort( ) с тем же синтаксисом. Функция uasort( ) сортирует массив по пользовательскому критерию с сохранением ассоциаций «ключ/значение» . Функция uksort( ) также сортирует массив по пользовательскому критерию, однако сортируются не значения, а ключи.

Работа с несколькими массивами Функция array_merge( ) сливает от 1 до N массивов, объединяя Работа с несколькими массивами Функция array_merge( ) сливает от 1 до N массивов, объединяя их в соответствии с порядком перечисления в параметрах. Синтаксис: array_merge(массив 1, массив 2, . . . , массив. N) Пример простого объединения массивов: $arr_1 = array("strawberry", "grape", "lemon"); $arr_2 = array("banana", "cocoa", "lime"); $arr_3 = array("peach", "orange"); $arr_4 = array_merge ($arr 2, $arr_1, $arr_3): // $arr_4 = array("banana", "cocoa", "lime", "strawberry", "grape", "lemon", "peach", "orange");

Работа с несколькими массивами Функция array_slice( ) возвращает часть массива, начальная и конечная позиция Работа с несколькими массивами Функция array_slice( ) возвращает часть массива, начальная и конечная позиция которой определяется смещением от начала и необязательным параметром длины. Синтаксис: array_slice(массив, смещение [, длина]) Значения параметров: - Если смещение положительно, начальная позиция возвращаемого фрагмента отсчитывается от начала массива. - Если смещение отрицательно, начальная позиция возвращаемого фрагмента отсчитывается от конца массива. - Если длина не указана, в возвращаемый массив включаются все элементы от начальной позиции до конца массива. - Если указана положительная длина, возвращаемый фрагмент состоит из заданного количества элементов. - Если указана отрицательная длина, возвращаемый фрагмент заканчивается в заданном количестве элементов от конца массива.

Работа с несколькими массивами Функция array_splice( ) заменяет часть массива, определяемую начальной позицией и Работа с несколькими массивами Функция array_splice( ) заменяет часть массива, определяемую начальной позицией и необязательной длиной, элементами необязательного параметра-массива. Синтаксис: array_splice(входной_массив, смещение, [длина], [заменяющий_массив]); Значения параметров: - Если смещение положительно, начальная позиция первого удаляемого элемента отсчитывается от начала массива. - Если смещение отрицательно, начальная позиция первого удаляемого элемента отсчитывается от конца массива. - Если длина не указана, удаляются все элементы от начальной позиции до конца массива. - Если указана положительная длина, удаляемый фрагмент состоит из заданного количества элементов. - Если указана отрицательная длина, из массива удаляются элементы от начальной позиции до позиции, находящейся на заданном расстоянии от конца массива. - Если заменяющий_массив не указан, то элементы, заданные смещением и необязательной длиной, удаляются из массива. - Если заменяющий_массив указан, он должен быть заключен в конструкцию аггау() (если он содержит более одного элемента).

Работа с несколькими массивами Функция array_splice( ) Примеры: Удаление всех элементов с пятой позиции Работа с несколькими массивами Функция array_splice( ) Примеры: Удаление всех элементов с пятой позиции до конца массива: $pasta = array_splice($pasta, 5); Удаление пятого и шестого элементов: $pasta = array_splice($pasta, 5, 2); Замена пятого и шестого элементов новыми значениями: $pasta = array_splice($pasta, 5, 2, array("element 1", "element 2")); Удаление всех элементов, начиная с пятого, до третьего элемента с конца массива: $pasta = array_splice($pasta, 5, -3); он содержит более одного элемента).

Работа с несколькими массивами Функция shuffle( ) сортирует элементы массива в случайном порядке. Синтаксис: Работа с несколькими массивами Функция shuffle( ) сортирует элементы массива в случайном порядке. Синтаксис: shuffle(массив);