Разделы презентаций


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

Содержание

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

Слайды и текст этой презентации

Слайд 1Мировые информационные ресурсы Лекция 3. Массивы

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

Слайд 2Массивы
представляют собой коллекции пар «ключ / значение».
При обращении к

массиву выполняется отображение значения ключа (индекса) в соответствующее ему значение.
В

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

Слайд 3Одномерные индексируемые массивы
Обращение к элементу: $имя[индекс1];
Создание элементов:
$arr[0] = "element0";
$arr[1]

= "element1";
$arr[2] = "element2";
Добавление нового элемента в конец массива
- присвоить

значение переменной массива без указания индекса:
$arr[ ] = "element0";
$arr[ ] = "element1";
$arr[ ] = "element2";
Добавление в конкретную позицию массива
$languages[15] = "Italian";
$languages[22] = "French";


Слайд 4Одномерные ассоциативные массивы
- удобны в ситуациях, когда элементы массива удобнее

связывать со словами, а не с числами.
Создание:
$myhash["name1"] = "element1";
$myhash["name2"]

= "element2";
$myhash["name3"] = "element3";
Вывод элемента массива $myhash:
print $myhash["name2"]; // Выводится строка "element2"


Одномерные ассоциативные массивы- удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.Создание:

Слайд 5Многомерные индексируемые массивы
работают практически так же, как и одномерные, но

элементы в них определяются несколькими индексами вместо одного.
Размерность индексируемого массива

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

Слайд 6Многомерные ассоциативные массивы
$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"];

Слайд 7Функция аrrау()‏
$myhash = аrrау(name1 => "element1", name2 => "element2", name3

=> "element3");
$myarray1 = аrrау(1, 2, 3);
$myarray1 = аrrау(0 => 1,

1 => 2, 2 => 3); # эквивалентно предыдущей записи
$myarray2 = аrrау(1 => "element1", 2 => "element2", 3 => "element3");
$myarray2 = аrrау(1 => "element1", "element2", "element3");# эквивалентно предыдущей записи
$myarray3 = array (array("name" => "Иван", "age" => 22), array("name" => "Петр", "age" => 20)); # вложенный массив


Слайд 8Функция print_r()‏
- выводит содержимое массива в удобочитаемом виде.
Пример:
$myarray = аrrау(1,

2, 3);
print_r($myarray);

Вывод:
Array
(
[0] => 1
[1] => 2
[2] => 3
)‏

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

Слайд 9Обход массива с помощью foreach()‏
foreach ($array as [$key =>] [&]

$value)‏
...
& указывается в случае, когда значения элементов будут меняться в

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

Слайд 10Обход массива с помощью 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);

Слайд 11Обход массива с помощью foreach()‏
Пример: Вывод:
Array
(
[1] => Array
(
[name] =>Иван
[age] =>

22
[age group] => “Старше 20-ти”
)‏
[2] => Array
(
[name] =>Петр
[age] => 20
[age

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

Слайд 12Функция 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;
Функция list( )‏— одновременное присваивание значений, извлеченных из массива, сразу нескольким переменным. Синтаксис команды list( ):list (переменная1

Слайд 13Курсор массива
- внутренний указатель, хранящий текущую позицию в массиве.

Функция reset()

устанавливает внутренний курсор массива на его начало и возвращает значение

начального элемента.

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

Слайд 14Функция 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")‏



Слайд 15Функция each()
Обычно функцию each() используют в паре с list()

для перебора элементов массива:
Пример:
$persons = array ("bob", "fred", "jussi",

"joini", "egon", "marliese");
reset($persons);
while (list($key, $val) = each ($persons))‏
{
print “#$key = $val\n”;
}

Пример:
reset($HTTP_POST_VARS);
while(list($key, $val) = each($HTTP_POST_VARS)) {
echo "$key = %val
";
}


Функция each() Обычно функцию each() используют в паре с list() для перебора элементов массива: Пример:$persons = array

Слайд 16Функция each()
Пример: Построение таблицы HTML по содержимому массива
$languages

= array ("Country" => "Language",
"Spain" => "Spanish", "USA" => "English",
"France"

=> "French", "Russia" => "Russian");
print "";
reset ($languages);
$hd1 = key ($languages);
$hd2 = $languages[$hd1];
print "";
next($languages);
while (list ($ctry,$lang) = each ($languages)) :
print "";
endwhile;
print "
$hd1$hd2
$ctry$lang
";


Слайд 17Функция each()
Пример: вывод

Country Language
Spain Spanish
USA English
France French


Russia Russian

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

Слайд 18Функция range( )‏
создает массив целых чисел из интервала, определяемого верхней

и нижней границами.
возвращает массив, состоящий из всех целых чисел указанного

интервала.

Синтаксис:
range (нижняя_граница, верхняя граница)‏

Пример:
$lottery = range(0,9); # $lottery = array(0,1,2,3,4,5,6,7,8,9)‏

Функция range( )‏создает массив целых чисел из интервала, определяемого верхней и нижней границами.возвращает массив, состоящий из всех

Слайд 19Поиск элементов массива
Функция 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 ( ) проверяет, присутствует ли в массиве заданный элемент. Если поиск окажется удачным,

Слайд 20Поиск элементов массива
Функция in_array( ) часто встречается в управляющих конструкциях,

когда ее возвращаемое значение используется для выбора одного из двух

вариантов продолжения.
Пример:
$language = "Russian";
$email = "user@mail.ru";
if (in_array($language, $languages)) :
subscribe_user($email, $language);
print "Вы внесены в список расылки, язык подписки: $language.";
else:
print "Приносим извинения, но на языке $language новости не рассылаем".
endif;


Поиск элементов массиваФункция in_array( ) часто встречается в управляющих конструкциях, когда ее возвращаемое значение используется для выбора

Слайд 21Функция array_keys( )‏
- возвращает массив, содержащий все ключи исходного массива,

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

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



Слайд 22Функция array_values( )‏
- возвращает массив, состоящий из всех значений исходного

массива, переданного в качестве параметра. Синтаксис:
array_values(массив)

Пример:
$arr = array("size"

=> "XL", "color" => "gold");
array_values($arr); # возвращает array("XL", "gold")‏



Слайд 23Добавление и удаление элементов
Функция array_push( )‏
- присоединяет (то есть дописывает

в конец массива) один или несколько новых элементов.
Синтаксис:
array_push(массив, элемент

[, ...])

Пример:
$languages = array("Spanish", "English", "French");
array_push($languages, "Russian", "German");

Добавление и удаление элементовФункция array_push( )‏- присоединяет (то есть дописывает в конец массива) один или несколько новых

Слайд 24Добавление и удаление элементов
Функция а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");

Добавление и удаление элементовФункция аrrау_рор( )‏- извлекает (то есть удаляет) последний элемент из массива. Извлеченный элемент возвращается

Слайд 25Добавление и удаление элементов
Функция 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_shift( ) - аналогична аrrау_рор( ) с одним отличием: элемент удаляется из начала

Слайд 26Добавление и удаление элементов
Функция 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_unshift( )‏— новый элемент вставляется в начало массива, а остальные элементы сдвигаются на

Слайд 27Добавление и удаление элементов
Функция array_pad( )
- позволяет быстро увеличить

массив до желаемого размера посредством его дополнения стандартными элементами.
Синтаксис:


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

Добавление и удаление элементовФункция array_pad( ) - позволяет быстро увеличить массив до желаемого размера посредством его дополнения

Слайд 28Добавление и удаление элементов
Пример:
$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, 100);

Пример:
$weights = array(1, 3, 5, 10, 15, 25, 50);
$weights = array_pad($weights, -10, 100);
// Результат: $weights = array(100, 100, 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);

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

Слайд 29Перемещения указателя массива
Функция end( ) перемещает указатель к позиции последнего

элемента массива.
Синтаксис: end (массив)‏
Функция next ( ) смещает указатель

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


Перемещения указателя массиваФункция end( ) перемещает указатель к позиции последнего элемента массива. Синтаксис: end (массив)‏Функция next (

Слайд 30Функция array_walk( )‏
позволяет применить функцию к нескольким (а возможно, всем)

элементам массива.
Синтаксис:
array_walk(массив, имя_функции [, данные])‏

Функция, заданная параметром имя_функции, может

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


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

Слайд 31Функция 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');



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

Функция array_walk( )‏Результат:Before:1=>152=>203=>25After:1=>162=>213=>26

Слайд 33Функция 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_walk( )‏Пример удаления дубликатов из массива:function delete_dupes($element) {static $last=

Слайд 34Функция 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_reverse( )‏позволяет перейти к противоположному порядку элементов, составляющих массив. При вызове array_reverse( ) для ассоциативного массива

Слайд 35Функция array_flip( )‏
меняет местами ключи и значения элементов массива. Синтаксис:


array_flip(массив)‏

Пример:
$languages = array("Spain" => "Spanish", "France" => "French", "Italy"

=> "Italian");
$languages = array_flip($languages);
// $languages = array("Spanish" => "Spain", // "French" => "France", // "Italian" => "Italy");


Слайд 36Размер массива
Функция 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

Размер массиваФункция sizeof ( ) возвращает количество элементов в массиве. Синтаксис: sizeof (массив) Пример:$us_producers = array (

Слайд 37Размер массива
Функция count( ) выполняет ту же операцию, что и

sizeof ( ) — возвращает количество значений, содержащихся в массиве.


Синтаксис:
count (переменная)‏
- если переменная существует и является массивом, count ( ) возвращает количество элементов в массиве;
- если переменная существует, но не является массивом, функция возвращает значение 1;
- если переменная не существует, возвращается значение 0.

Размер массиваФункция count( ) выполняет ту же операцию, что и sizeof ( ) — возвращает количество значений,

Слайд 38Размер массива
Функция array_count_values( ) подсчитывает количество экземпляров каждого значения в

массиве.
Синтаксис:
array_count_values(массив):
- возвращает массив, где ключами будут значения

исходного массива, а значениями — их частоты:

Пример:
$states = аrrау("ОН", "ОК", "СА", "РА", "ОН", "ОН", "РА", "АК");
$state_freq = array_count_values($states);
// $state_freq = аrrау("ОН" => 3, "ОК" => 1, "СА" => 1, "РА" => 2, "АК" => 1);


Слайд 39Сортировка массивов
В РНР существует девять стандартных функций сортировки, причем каждая

функция сортирует массив особым образом.
sort, rsort, asort, arsort, ksort, krsort,

usort, uasort, uksort

Функция sort( ) сортирует элементы массива по возрастанию (от меньших к большим). Синтаксис:
sort (массив)‏
Нечисловые элементы сортируются в алфавитном порядке в соответствии с ASCII-кодами.

Сортировка массивовВ РНР существует девять стандартных функций сортировки, причем каждая функция сортирует массив особым образом.sort, rsort, asort,

Слайд 40Сортировка массивов
Пример:
$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


Слайд 41Сортировка массивов
Функция 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

Сортировка массивовФункция rsort ( ) - элементы массива сортируются в обратном порядке. Синтаксис:rsort (массив) Пример:$cities array(

Слайд 42Сортировка массивов
Функция 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

Сортировка массивовФункция asort( ) сохраняет исходную ассоциацию индексов с элементами независимо от нового порядка элементов. Синтаксис:asort(массив)‏Пример:$cities =

Слайд 44Сортировка массивов
Функция 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

Сортировка массивовФункция arsort ( ) представляет собой разновидность asort( ), которая сохраняет исходную ассоциацию индексов, но сортирует

Слайд 45Сортировка массивов
Функция 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


Слайд 46Сортировка массивов
Функция 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"


Слайд 47Сортировка с пользовательскими критериями
Функция usort( )‏
usort (массив, string имя_функции)‏
- в

параметре массив передается имя сортируемого массива,
- в параметре имя_функции

передается имя функции, на основании которой будет осуществляться сортировка.

Пример: сортировка массива по длине
$vocab = аrrау( "Socrates", "Aristophanes", "Plato", "Aeschylus", "Thesmophoriazusae");
function compare_length($str1, $str2) {
$length1 = strlen($str1);
$length2 = strlen($str2);
//функция strlen( ) - определение длины строки

Сортировка с пользовательскими критериямиФункция usort( )‏usort (массив, string имя_функции)‏- в параметре массив передается имя сортируемого массива, -

Слайд 48Сортировка с пользовательскими критериями
if ($length1 == $length2) :
return 0;
elseif ($length1

< $length2) :
return -1;
else :
return 1;
endif;
}
// Вызов usort() с указанием

функции compare_length() в качестве критерия сортировки
usort ($vocab, "compare_length") :
// Вывод отсортированного списка
while (list ($key, $val) = each ($vocab)) {
echo "$val
";
}

Сортировка с пользовательскими критериямиif ($length1 == $length2) :return 0;elseif ($length1 < $length2) :return -1;else :return 1;endif;}// Вызов

Слайд 49Сортировка с пользовательскими критериями
Пример:
function FCmp($a,$b) { return strcmp($a,$b); }
//функция strcmp(str1,

str2) сравнивает две строки посимвольно и возвращает
// 0 -

если строки полностью совпадают,
//-1 - если строка str1 лексикографически меньше str2,
// 1 - если, str1 "больше" str2.
$A = array("One","Two","Three","Four");
usort($A);
for($i=0; $i// выводит "0:Four 1:One 2:Three 3:Two"

Сортировка с пользовательскими критериямиПример:function FCmp($a,$b) { return strcmp($a,$b); }//функция strcmp(str1, str2) сравнивает две строки посимвольно и возвращает

Слайд 50Сортировка с пользовательскими критериями
Пример:
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: $val\n";
}

При выполнении будет напечатано:
0: 6
1: 5
2: 3
3: 2
4: 1

Сортировка с пользовательскими критериямиПример: function cmp($a, $b) {if($a==$b) return 0; return ($a > $b) ? -1 :

Слайд 51Сортировка с пользовательскими критериями
Пример сортировки многомерного массива:
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)) {
echo "\$fruit[$key]:".$val["fruit"]."\n";
}
При сортировке многомерных массивов $a и

$b содержит ссылки на первый индекс массива.

Вывод:
$fruit[0]: apples
$fruit[1]: grapes
$fruit[2]: lemons

Сортировка с пользовательскими критериямиПример сортировки многомерного массива: function cmp($a,$b) {return strcmp($a[

Слайд 52Сортировка с пользовательскими критериями
Функции uasort( ) и uksort( ) представляют

собой разновидности usort( ) с тем же синтаксисом.
Функция uasort(

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

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

Слайд 53Работа с несколькими массивами
Функция 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 ($arr2, $arr_1, $arr_3):
// $arr_4 = array("banana", "cocoa", "lime", "strawberry", "grape", "lemon", "peach", "orange");

Работа с несколькими массивамиФункция array_merge( ) сливает от 1 до N массивов, объединяя их в соответствии с

Слайд 54Работа с несколькими массивами
Функция array_slice( ) возвращает часть массива, начальная

и конечная позиция которой определяется смещением от начала и необязательным

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


Работа с несколькими массивамиФункция array_slice( ) возвращает часть массива, начальная и конечная позиция которой определяется смещением от

Слайд 55Работа с несколькими массивами
Функция array_splice( ) заменяет часть массива, определяемую

начальной позицией и необязательной длиной, элементами необязательного параметра-массива. Синтаксис:
array_splice(входной_массив, смещение,

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

Слайд 56Работа с несколькими массивами
Функция array_splice( )

Примеры:
Удаление всех элементов с

пятой позиции до конца массива:
$pasta = array_splice($pasta, 5);
Удаление пятого и

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

Работа с несколькими массивамиФункция array_splice( ) Примеры:Удаление всех элементов с пятой позиции до конца массива:$pasta = array_splice($pasta,

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

случайном порядке.
Синтаксис: shuffle(массив);

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

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика