#статьи
Становимся настоящими ниндзя в сортировке массивов. Вместо оружия — встроенные функции PHP, быстрые и точные, как катана.
Иллюстрация: Polina Vari для Skillbox Media
В PHP массивом называют структуру данных, которая позволяет хранить упорядоченный набор значений по принципу ключ => значение. И количество инструментов для работы с массивами тут впечатляет: для одной только сортировки существует 13 встроенных функций! В этой статье мы покажем, как ими пользоваться, чтобы получать информацию в нужном виде.
Все функции PHP для сортировки массивов «конструируются» из четырёх основных критериев:
- вид сортировки — по ключу или значениям;
- порядок сортировки — восходящий, нисходящий, естественный, пользовательский и прочие;
- способ обработки ключей — с сохранением связи или нет;
- наличие уточняющих опций — в семи из этих функций можно указать предпочтительный способ сортировки и дополнительные параметры («флаги»).
Вот функции, которые позволяют это сделать:
Список функций сортировки массивов в PHP
Изображение: Евгений Колесников для Skillbox MediaУ каждой из функций есть название, указывающее на вид сортировки и завершающееся круглыми скобками. Эти названия на первый взгляд кажутся не особо говорящими, поэтому для начала лучше выбирать функцию под конкретную задачу, сверяясь с табличкой на официальном сайте. При этом легко запомнить, что функции с буквой «k» сортируют массивы по ключам.
В зависимости от выбранной функции внутри скобок указывается массив или несколько массивов для сортировки, а затем могут идти опции (флаги):
- SORT_REGULAR — сравнивать элементы в нормальном порядке, не меняя типов;
- SORT_NUMERIC — сравнивать элементы как числа;
- SORT_STRING — сравнивать элементы как строки;
- SORT_LOCALE_STRING — сравнивать элементы как строки, руководствуясь текущим местонахождением, то есть локалью (Locale);
- SORT_NATURAL — сравнивать элементы как строки в естественном порядке;
- SORT_FLAG_CASE — можно объединить с SORT_STRING или SORT_NATURAL, чтобы сделать сортировку нечувствительной к регистру.
Давайте попробуем в действии отсортировать массивы разными способами. В этом нам помогут редактор кода Notepad++ и среда разработки XAMPP для запуска PHP-кода в браузере.
Во всех примерах будем сначала выводить исходный массив, а затем его же после сортировки (помните, что сортировка меняет массив, то есть её результат сохраняется). Для удобства чтения будем осуществлять вывод с помощью привычной функции echo в связке с implode()/print_r() или циклом foreach.
Также для красоты будем сопровождать результаты подписями (HTML-заголовки <h2> и <h3>) и переносом строк (HTML-элемент <br>).
<?php
echo "<h1>СОРТИРОВКА МАССИВОВ</h1>";Начало нашего кода
Создадим массив чисел и отсортируем его в порядке убывания, от большего значения к меньшему. Возьмём самый простой пример: массив зарплат в рублях:
$salaries = array(45000, 65000, 35000, 75000, 55000);
Так он выглядит с выводом результата.
echo "<h2>Сортировка вакансий по зарплатам</h2>";
$salaries = array(45000, 65000, 35000, 75000, 55000);
echo "<h3>Исходный массив вакансий по зарплатам целиком, до сортировки</h3>";
print_r($salaries);
echo "<h3>Массив вакансий по зарплатам до сортировки –- только значения (исходный порядок)</h3>";
echo implode(", ", $salaries) . "<br>";
Код исходного массива зарплат с выводом результата
Исходный массив вакансий по зарплатам целиком, до сортировки:
Array ( [0] => 45000 [1] => 65000 [2] => 35000 [3] => 75000 [4] => 55000 )
Массив вакансий по зарплатам до сортировки — только значения (исходный порядок):
45000, 65000, 35000, 75000, 55000
Как видим, сейчас зарплаты внутри массива расположены в произвольном порядке, а нам бы хотелось сначала увидеть самые выгодные вакансии. Значит, надо найти в таблице такой метод, который умеет сортировать значения в порядке убывания — нам подойдёт rsort().
rsort($array, FLAGS);
Объяснение:
- rsort() — название функции, в скобках указываются параметры;
- $array — массив для сортировки;
- на месте опции FLAGS можно указать другие правила сортировки массива (флаги).
А теперь попробуем нашу функцию в деле. На первом шаге передадим в неё массив с зарплатами — $salaries.
rsort($salaries);
Далее прописываем вывод результата:
echo "<h3>Массив вакансий по зарплатам после сортировки через rsort() (по значению, по убыванию)</h3>";
echo implode(", ", $salaries) . "<br>";Код для сортировки массива зарплат
Вот что у нас получилось на выходе:
75000, 65000, 55000, 45000, 35000
Теперь возьмёмся за массив текстовых значений.
По данным Большой российской энциклопедии, в мире насчитывается более двухсот видов сов. Было бы неплохо создать про них сайт, чтобы каждый мог узнать о совах побольше! Начнём с создания «массива сов», руководствуясь книгой Ю. Б. Пукинского «Жизнь сов».
echo "<h2>Сортируем сов</h2>";
$owls = array(
"tytonidae" => "Сипухи",
"tyto" => "Сипухи",
"strigidae" => "Настоящие совы",
"otus" => "Совки",
"bubo" => "Филины",
"ketupa" => "Рыбные совы",
"nyctea" => "Белые совы",
"surnia" => "Ястребиные совы",
"glaucidium" => "Сычики",
"ninox" => "Иглоногие совы",
"athene" => "Сычи",
"strix" => "Неясыти",
"asfo" => "Ушастые совы",
"aegolius" => "Мохноногие сычи"
);
Код исходного массива видов совecho "<h3>Исходный массив названий видов сов целиком, до сортировки</h3>";
print_r($owls);
echo "<h3>Названия видов сов до сортировки -- только значения (исходный порядок)</h3>";
echo implode(", ", $owls) . "<br>";
Код вывода исходного массива видов сов
Исходный массив названий видов сов целиком, до сортировки:
Array ( [tytonidae] => Сипухи [tyto] => Сипухи [strigidae] => Настоящие совы [otus] => Совки [bubo] => Филины [ketupa] => Рыбные совы [nyctea] => Белые совы [surnia] => Ястребиные совы [glaucidium] => Сычики [ninox] => Иглоногие совы [athene] => Сычи [strix] => Неясыти [asfo] => Ушастые совы [aegolius] => Мохноногие сычи )
Названия видов сов до сортировки — только значения (исходный порядок):
Сипухи, Сипухи, Настоящие совы, Совки, Филины, Рыбные совы, Белые совы, Ястребиные совы, Сычики, Иглоногие совы, Сычи, Неясыти, Ушастые совы, Мохноногие сычи
В данном случае в роли ключей ассоциативного массива у нас выступают латинские названия видов, а значениями являются русские названия.
В зависимости от задачи нам может понадобиться как латинское, так и русское название. Кроме этого, было бы интересно иметь возможность получать информацию о случайно выбранной сове, а ещё — представлять текстовые значения в алфавитном порядке.
Отсюда вытекает необходимость использования сразу трёх различных функций сортировки:
-
ksort() для сортировки по ключам (латинским названиям) по алфавиту;
-
asort() для сортировки по значениям (русским названиям), также по алфавиту;
-
shuffle() для получения случайных русских названий сов.
Синтаксис ksort() и asort() такой же, как и в предыдущем примере у rsort(), а с shuffle() всё ещё проще — она принимает только название массива.
Посмотрим на функции в деле:
ksort($owls);
echo"<h3>Названия видов сов после сортировки через ksort() (по ключу, по алфавиту, по возрастанию)</h3>";
print_r(array_keys($owls));
asort($owls);
echo "<h3>Названия видов сов после сортировки через asort() (по значению, по алфавиту, по возрастанию)</h3>";
echo implode(", ", $owls) . "<br>";
shuffle($owls);
echo "<h3>Названия видов сов после сортировки через shuffle() (по значению, случайный порядок)</h3>";
echo implode(", ", $owls) . "<br>";
Код для сортировки массива видов сов
Названия видов сов после сортировки через ksort() (по ключу, по алфавиту, по возрастанию):
Array ( [0] => aegolius [1] => asfo [2] => athene [3] => bubo [4] => glaucidium [5] => ketupa [6] => ninox [7] => nyctea [8] => otus [9] => strigidae [10] => strix [11] => surnia [12] => tyto [13] => tytonidae )
Названия видов сов после сортировки через asort() (по значению, по алфавиту, по возрастанию):
Белые совы, Иглоногие совы, Мохноногие сычи, Настоящие совы, Неясыти, Рыбные совы, Сипухи, Сипухи, Совки, Сычи, Сычики, Ушастые совы, Филины, Ястребиные совы
Названия видов сов после сортировки через shuffle() (по значению, случайный порядок):
Сипухи, Рыбные совы, Белые совы, Сычики, Совки, Сипухи, Мохноногие сычи, Ястребиные совы, Ушастые совы, Филины, Неясыти, Настоящие совы, Иглоногие совы, Сычи
Совы встали на свои места, а мы двигаемся дальше — к сортировке, имитирующей человеческую логику.
Предположим, у нас есть список подписчиков нашей группы в одном из возможных форматов — ссылками с id вида vk.com/idXXX.
echo "<h2>Сортируем ссылки на страницы во «Вконтакте» через natsort()</h2>";
$pages = array("vk.com/id30000", "vk.com/id10000", "vk.com/id20000");
echo "<h3>Исходный массив ссылок на страницы во «Вконтакте», до сортировки</h3>";
print_r($pages);
Код исходного массива страниц во «Вконтакте» с выводом результата
Исходный массив ссылок на страницы во «Вконтакте», до сортировки:
Array ( [0] => vk.com/id30000 [1] => vk.com/id10000 [2] => vk.com/id20000 )
Было бы удобно расположить записи в порядке возрастания id, но есть нюанс: элементы массива являются строковыми значениями. Вот что показывает проверка типов:
echo "<h3>Проверка типа данных в массиве ссылок на страницы во «Вконтакте»</h3>";
foreach ($pages as $page) {
echo gettype($page) . "<br>";
};
Вывод результата после проверки типа данных в массиве ссылок на страницы во «Вконтакте»:
string
string
string
Чтобы решить задачу, воспользуемся функцией естественной сортировки natsort().
natsort($array);
Объяснение:
- natsort() — название функции, в скобках указывается единственный параметр;
- $array — массив, который нужно отсортировать естественным способом (как это бы сделал человек).
Посмотрим на функцию в деле:
natsort($pages);
echo "<h3>Массив ссылок на страницы во «Вконтакте» после естественной сортировки через natsort() (по значению, по возрастанию)</h3>";
echo implode(", ", $pages) . "<br>";
Массив ссылок на страницы во «Вконтакте» после естественной сортировки через natsort() (по значению, по возрастанию):
vk.com/id10000, vk.com/id20000, vk.com/id30000
Теперь страницы отсортированы в удобном для работы формате.
Для примера возьмём двумерный массив, состоящий, в свою очередь, из двух массивов: марок автомобильного топлива и цен на него некоторое время назад.
echo "<h2>Сортируем цены на бензин и дизельное топливо (в рублях) через array_multisort()</h2>";
$petrol = array(
array("52,75", "61,95", "54,01", "47,60"),
array("АИ-95", "АИ-98", "ДТ", "АИ-92")
);
echo "<h3>Марки топлива и цены на него до сортировки(исходный порядок)</h3>";
print_r(array_values($petrol));
Код исходного массива цен на топливо с выводом результата
Марки топлива и цены на него до сортировки (исходный порядок):
Array ( [0] => Array ( [0] => 52,75 [1] => 61,95 [2] => 54,01 [3] => 47,60 ) [1] => Array ( [0] => АИ-95 [1] => АИ-98 [2] => ДТ [3] => АИ-92 ) )
Сейчас здесь есть взаимное соответствие (например, АИ-92 стоит 47,60), но сами значения не отсортированы в каком-либо порядке. Попробуем с помощью функции сортировки array_multisort() вывести для пользователя список ценников, отсортированный по возрастанию, где сначала идёт самый дешёвый бензин.
Функция array_multisort() предназначена как раз для сортировки многомерных массивов. Вот её синтаксис:
array_multisort($array1, $array1_sort_order, $array1_sort_flags, $other);
Объяснение:
- array_multisort() — название функции, в скобках указываются параметры;
- $array1 — первый массив для сортировки;
- на месте опции $array1_sort_order можно указать порядок сортировки первого массива (можно не указывать);
- на месте опции $array1_sort_flags можно указать другие правила сортировки первого массива (флаги) в дополнение к предыдущей опции;
- на месте $other можно вписать ещё один массив $array2 с опциями или без (и так далее).
Применим функцию в деле:
echo("<h3>Сортировка марок топлива и цен через array_multisort() (по возрастанию)</h3>");
array_multisort($petrol[0], $petrol[1]);
echo implode(" -- ", $petrol[1]) . "<br>";
echo implode(" -- ", $petrol[0]) . "<br>";
Вывод отсортированного массива марок топлива и цен через array_multisort() (по возрастанию):
АИ-92 -- АИ-95 -- ДТ -- АИ-98
47,60--52,75--54,01--61,95
Теперь марки топлива расположены по возрастанию цены, а мы возьмём ещё более интересный пример — сортировку по кастомным правилам.
Предположим, у нашей компании есть корпоративный портал, где можно посмотреть информацию о коллегах. Пусть у нас в массиве будет шесть коллег. База содержит Ф. И. О., внутренний ID, должность и возраст, а карточка каждого сотрудника является отдельным массивом многомерного массива:
echo "<h2>Сортируем сотрудников компании</h2>";
$employees = array(
array(
"ID" => 1,
"ФИО" => "Вувузела Андрей Павлович",
"Должность" => "Менеджер",
"Возраст" => "29"
),
array(
"ID" => 2,
"ФИО" => "Ахрюнов Алексей Степанович",
"Должность" => "Бухгалтер",
"Возраст" => "32"
),
array(
"ID" => 3,
"ФИО" => "Охрюненко Борис Гориславович",
"Должность" => "Курьер",
"Возраст" => "22"
),
array(
"ID" => 4,
"ФИО" => "Бокакин Арсений Брониславович",
"Должность" => "Менеджер",
"Возраст" => "31"
),
array(
"ID" => 5,
"ФИО" => "Голохрюхин Евгений Владимирович",
"Должность" => "Директор",
"Возраст" => "40"
),
array(
"ID" => 6,
"ФИО" => "Совакошка Мария Игоревна",
"Должность" => "Старший инженер",
"Возраст" => "26"
)
);
Код вывода исходного массива карточек сотрудников компании:
echo "<h3>Записи сотрудников компании до сортировки(исходный порядок)</h3>";
print_r(array_values($employees));
Вывод исходного массива карточек сотрудников компании до сортировки (исходный порядок):
Array ( [0] => Array ( [ID] => 1 [ФИО] => Вувузела Андрей Павлович [Должность] => Менеджер [Возраст] => 29 ) [1] => Array ( [ID] => 2 [ФИО] => Ахрюнов Алексей Степанович [Должность] => Бухгалтер [Возраст] => 32 ) [2] => Array ( [ID] => 3 [ФИО] => Охрюненко Борис Гориславович [Должность] => Курьер [Возраст] => 22 ) [3] => Array ( [ID] => 4 [ФИО] => Бокакин Арсений Брониславович [Должность] => Менеджер [Возраст] => 31 ) [4] => Array ( [ID] => 5 [ФИО] => Голохрюхин Евгений Владимирович [Должность] => Директор [Возраст] => 40 ) [5] => Array ( [ID] => 6 [ФИО] => Совакошка Мария Игоревна [Должность] => Старший инженер [Возраст] => 26 ) )
Дадим пользователю корпоративного портала возможность сортировки списка по фамилиям, возрасту и порядковому номеру. В этом нам поможет функция пользовательской сортировки usort().
usort($array, "function");
Объяснение:
- usort() — название функции, в скобках указываются параметры.
- $array — массив для сортировки.
- «function» — название вашей функции сравнения с собственными правилами сортировки. Она объявляется заранее и принимает два параметра. Обратите внимание на кавычки, в которые заключается название.
Применим функцию в деле — на сортировке сотрудников по алфавиту, по возрасту (по возрастанию) и по ID (по убыванию).
Обратите внимание:
- В каждом из трёх примеров ниже мы сначала объявляем пользовательскую функцию сравнения (alphSort, ageSort и idSort соответственно), а потом передаём её встроенной функции usort() в качестве обработчика массива.
- Цикл foreach помогает по очереди перебирать карточки каждого сотрудника в главном массиве $employees. Для удобства мы в рамках цикла обзываем их $employee — то же самое английское слово в единственном числе.
- Для доступа к нужным ключам вложенных массивов (карточек сотрудников) используется синтаксис с квадратными скобками: $array[«key»] и так далее.
echo "<h3>Сортировка сотрудников по ФИО через usort() и strcmp (по алфавиту)</h3>";
function alphSort($name1, $name2) {
return strcmp($name1["ФИО"], $name2["ФИО"]);
};
usort($employees, "alphSort");
foreach ($employees as $employee) {
echo "ID " . $employee["ID"] . ", " . "<b>ФИО: " . $employee["ФИО"] . ",</b> " . "Должность: " . $employee["Должность"] . ", " . "Возраст: " . $employee["Возраст"] . "<br>";
};
Функция alphSort() принимает по два значения ФИО ($name1 и $name2) и сравнивает их как строки с помощью встроенной функции strcmp(). Она передаётся во встроенную функцию usort(), где и применяется на нашем массиве.
Вывод отсортированного массива карточек сотрудников компании. Вариант первый — ФИО по алфавиту:
ID 2, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: 32
ID 4, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: 31
ID 1, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: 29
ID 5, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: 40
ID 3, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: 22
ID 6, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: 26
Следующие два примера строятся по похожему принципу. Вот код для сортировки массива карточек сотрудников компании. Вариант второй — по возрасту.
echo "<h3>Сортировка сотрудников по возрасту через usort() (по возрастанию)</h3>";
function ageSort($age1, $age2) {
if ($age1["Возраст"] == $age2["Возраст"]) {
return 0;
}
return ($age1["Возраст"] < $age2["Возраст"]) ? -1 : 1;
};
usort($employees, "ageSort");
foreach ($employees as $employee) {
echo "ID " . $employee["ID"] . ", " . "ФИО: " . $employee["ФИО"] . ", " . "Должность: " . $employee["Должность"] . ", " . "<b>Возраст: " . $employee["Возраст"] . "</b><br>";
};
Функция ageSort() должна сравнивать по два значения возраста сотрудников (в данном примере — $age1, $age2), и возвращать результат (отсортированный массив) в зависимости от результата сравнения. Она также передаётся во встроенную функцию usort().
Вывод отсортированного массива карточек сотрудников компании. Вариант второй — по возрасту:
ID 3, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: 22
ID 6, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: 26
ID 1, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: 29
ID 4, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: 31
ID 2, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: 32
ID 5, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: 40
Код для сортировки массива карточек сотрудников компании. Вариант третий — по ID:
echo "<h3>Сортировка сотрудников по ID через usort() (по убыванию)</h3>";
function idSort($id1, $id2) {
if ($id1["ID"] == $id2["ID"]) {
return 0;
}
return ($id1["ID"] < $id2["ID"]) ? 1 : -1;
};
usort($employees, "idSort");
foreach ($employees as $employee) {
echo "<b>ID " . $employee["ID"] . ",</b> " . "ФИО: " . $employee["ФИО"] . ", " . "Должность: " . $employee["Должность"] . ", " . "Возраст: " . $employee["Возраст"] . "<br>";
};
?>
Аналогично прошлому примеру, здесь функция idSort() тоже заточена на сравнение по двум значениям — теперь это ID сотрудников ($id1, $id2) — и возвращает результат (отсортированный массив) в зависимости от результата сравнения.
Вывод отсортированного массива карточек сотрудников компании. Вариант третий — по ID:
ID6, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: 26
ID 5, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: 40
ID 4, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: 31
ID 3, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: 22
ID 2, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: 32
ID 1, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: 29
Мы рассмотрели основные виды сортировок массивов в PHP: числовую, алфавитную, естественную, многомерную и пользовательскую. Для всего этого мы нашли подходящие функции.
Для более детального знакомства с функциями сортировки массивов в PHP рекомендуем пользоваться таблицами-напоминалками: в разных руководствах они сделаны по-разному, поэтому лучше найти ту табличку, которая будет удобна именно вам. А для синтаксически правильного применения советуем пользоваться официальной документацией языка, тем более она переведена на русский.
Научитесь: Профессия PHP-разработчик с нуля до PRO
Узнать больше
<!DOCTYPE html>
<html class="l-html" lang="ru">
<head>
<script>
mindbox = window.mindbox || function() { mindbox.queue.push(arguments); };
mindbox.queue = mindbox.queue || [];
mindbox('create', {
endpointId: 'skillbox.skillboxMediaWebsite'
});
</script>
<script src="https://api.s.mindbox.ru/scripts/v1/tracker.js" async></script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<!-- Google Tag Manager -->
<script async data-skip-moving="true" type="text/javascript">
/** Google Tagmanager */
;(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-NLCGQ25');
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'GTM-NLCGQ25');
</script>
<!-- End Google Tag Manager -->
<!-- Retail Rocket -->
<script type="text/javascript">
var rrPartnerId = "6048a0d097a52514f050731f";
var rrApi = {};
var rrApiOnReady = rrApiOnReady || [];
rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
(function(d) {
var ref = d.getElementsByTagName('script')[0];
var apiJs, apiJsId = 'rrApi-jssdk';
if (d.getElementById(apiJsId)) return;
apiJs = d.createElement('script');
apiJs.id = apiJsId;
apiJs.async = true;
apiJs.src = "//cdn.retailrocket.ru/content/javascript/tracking.js";
ref.parentNode.insertBefore(apiJs, ref);
}(document));
</script>
<!-- End Retail Rocket -->
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta name="google-site-verification" content="UA-kf725UpqwkHenFmDQ05SW115fL9UdD9uXiFy-ibQ"/>
<meta name="robots" content="index, follow"/>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="canonical" href="https://skillbox.ru/media/code/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami/">
<link rel="preload" href="https://marketplace.canva.com/EAD2962NKnQ/2/0/1600w/canva-rainbow-gradient-pink-and-purple-zoom-virtual-background-_Tcjok-d9b4.jpg" as="image" />
<link rel="preload" href="https://via.placeholder.com/1170x250/92c952" as="image" />
<link rel="preload" href="https://via.placeholder.com/768x250/40E0D0" as="image" />
<link rel="preload" href="https://via.placeholder.com/375x250/ffbcee" as="image" />
<title>Как отсортировать массив в PHP / Skillbox Media</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="сортировка массива php, php сортировка, как отсортировать массив php, сортировка массива, массив php" />
<meta name="description" content="Рассказываем о способах сортировки массива с помощью встроенных функций PHP." />
<link href="/bitrix/cache/css/s1/media/kernel_main/kernel_main_v1.css?177096852510536" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/ui/fonts/opensans/ui.font.opensans.css?16341171742599" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/main/popup/dist/main.popup.bundle.css?163411696226345" type="text/css" rel="stylesheet" />
<link href="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/page_a1ad23d5ae1fea4c6ac7c690c80a4763/page_a1ad23d5ae1fea4c6ac7c690c80a4763_v1.css?1771490810746236" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/template_176a7c2453ad8025fa7d27f65ba6a4b1/template_176a7c2453ad8025fa7d27f65ba6a4b1_v1.css?1771490810442835" type="text/css" data-template-style="true" rel="stylesheet" />
<script type="text/javascript">if(!window.BX)window.BX={};if(!window.BX.message)window.BX.message=function(mess){if(typeof mess==='object'){for(let i in mess) {BX.message[i]=mess[i];} return true;}};</script>
<script type="text/javascript">(window.BX||top.BX).message({'JS_CORE_LOADING':'Загрузка...','JS_CORE_NO_DATA':'- Нет данных -','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_WINDOW_CONTINUE':'Продолжить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с','JSADM_AI_HIDE_EXTRA':'Скрыть лишние','JSADM_AI_ALL_NOTIF':'Показать все','JSADM_AUTH_REQ':'Требуется авторизация!','JS_CORE_WINDOW_AUTH':'Войти','JS_CORE_IMAGE_FULL':'Полный размер'});</script>
<script type="text/javascript" src="/bitrix/js/main/core/core.js?1634117028565340"></script>
<script>BX.setJSList(['/bitrix/js/main/core/core_ajax.js','/bitrix/js/main/core/core_promise.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/loadext/loadext.js','/bitrix/js/main/loadext/extension.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/includes/js/includes.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/ui/polyfill/closest/js/closest.js','/bitrix/js/main/polyfill/fill/main.polyfill.fill.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/core/core.js','/bitrix/js/main/polyfill/intersectionobserver/js/intersectionobserver.js','/bitrix/js/main/lazyload/dist/lazyload.bundle.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/parambag/dist/parambag.bundle.js']);
BX.setCSSList(['/bitrix/js/main/lazyload/dist/lazyload.bundle.css','/bitrix/js/main/parambag/dist/parambag.bundle.css']);</script>
<script type="text/javascript">(window.BX||top.BX).message({'AMPM_MODE':false});(window.BX||top.BX).message({'MONTH_1':'Январь','MONTH_2':'Февраль','MONTH_3':'Март','MONTH_4':'Апрель','MONTH_5':'Май','MONTH_6':'Июнь','MONTH_7':'Июль','MONTH_8':'Август','MONTH_9':'Сентябрь','MONTH_10':'Октябрь','MONTH_11':'Ноябрь','MONTH_12':'Декабрь','MONTH_1_S':'января','MONTH_2_S':'февраля','MONTH_3_S':'марта','MONTH_4_S':'апреля','MONTH_5_S':'мая','MONTH_6_S':'июня','MONTH_7_S':'июля','MONTH_8_S':'августа','MONTH_9_S':'сентября','MONTH_10_S':'октября','MONTH_11_S':'ноября','MONTH_12_S':'декабря','MON_1':'янв','MON_2':'фев','MON_3':'мар','MON_4':'апр','MON_5':'май','MON_6':'июн','MON_7':'июл','MON_8':'авг','MON_9':'сен','MON_10':'окт','MON_11':'ноя','MON_12':'дек','DAY_OF_WEEK_0':'Воскресенье','DAY_OF_WEEK_1':'Понедельник','DAY_OF_WEEK_2':'Вторник','DAY_OF_WEEK_3':'Среда','DAY_OF_WEEK_4':'Четверг','DAY_OF_WEEK_5':'Пятница','DAY_OF_WEEK_6':'Суббота','DOW_0':'Вс','DOW_1':'Пн','DOW_2':'Вт','DOW_3':'Ср','DOW_4':'Чт','DOW_5':'Пт','DOW_6':'Сб','FD_SECOND_AGO_0':'#VALUE# секунд назад','FD_SECOND_AGO_1':'#VALUE# секунду назад','FD_SECOND_AGO_10_20':'#VALUE# секунд назад','FD_SECOND_AGO_MOD_1':'#VALUE# секунду назад','FD_SECOND_AGO_MOD_2_4':'#VALUE# секунды назад','FD_SECOND_AGO_MOD_OTHER':'#VALUE# секунд назад','FD_SECOND_DIFF_0':'#VALUE# секунд','FD_SECOND_DIFF_1':'#VALUE# секунда','FD_SECOND_DIFF_10_20':'#VALUE# секунд','FD_SECOND_DIFF_MOD_1':'#VALUE# секунда','FD_SECOND_DIFF_MOD_2_4':'#VALUE# секунды','FD_SECOND_DIFF_MOD_OTHER':'#VALUE# секунд','FD_SECOND_SHORT':'#VALUE#с','FD_MINUTE_AGO_0':'#VALUE# минут назад','FD_MINUTE_AGO_1':'#VALUE# минуту назад','FD_MINUTE_AGO_10_20':'#VALUE# минут назад','FD_MINUTE_AGO_MOD_1':'#VALUE# минуту назад','FD_MINUTE_AGO_MOD_2_4':'#VALUE# минуты назад','FD_MINUTE_AGO_MOD_OTHER':'#VALUE# минут назад','FD_MINUTE_DIFF_0':'#VALUE# минут','FD_MINUTE_DIFF_1':'#VALUE# минута','FD_MINUTE_DIFF_10_20':'#VALUE# минут','FD_MINUTE_DIFF_MOD_1':'#VALUE# минута','FD_MINUTE_DIFF_MOD_2_4':'#VALUE# минуты','FD_MINUTE_DIFF_MOD_OTHER':'#VALUE# минут','FD_MINUTE_0':'#VALUE# минут','FD_MINUTE_1':'#VALUE# минуту','FD_MINUTE_10_20':'#VALUE# минут','FD_MINUTE_MOD_1':'#VALUE# минуту','FD_MINUTE_MOD_2_4':'#VALUE# минуты','FD_MINUTE_MOD_OTHER':'#VALUE# минут','FD_MINUTE_SHORT':'#VALUE#мин','FD_HOUR_AGO_0':'#VALUE# часов назад','FD_HOUR_AGO_1':'#VALUE# час назад','FD_HOUR_AGO_10_20':'#VALUE# часов назад','FD_HOUR_AGO_MOD_1':'#VALUE# час назад','FD_HOUR_AGO_MOD_2_4':'#VALUE# часа назад','FD_HOUR_AGO_MOD_OTHER':'#VALUE# часов назад','FD_HOUR_DIFF_0':'#VALUE# часов','FD_HOUR_DIFF_1':'#VALUE# час','FD_HOUR_DIFF_10_20':'#VALUE# часов','FD_HOUR_DIFF_MOD_1':'#VALUE# час','FD_HOUR_DIFF_MOD_2_4':'#VALUE# часа','FD_HOUR_DIFF_MOD_OTHER':'#VALUE# часов','FD_HOUR_SHORT':'#VALUE#ч','FD_YESTERDAY':'вчера','FD_TODAY':'сегодня','FD_TOMORROW':'завтра','FD_DAY_AGO_0':'#VALUE# дней назад','FD_DAY_AGO_1':'#VALUE# день назад','FD_DAY_AGO_10_20':'#VALUE# дней назад','FD_DAY_AGO_MOD_1':'#VALUE# день назад','FD_DAY_AGO_MOD_2_4':'#VALUE# дня назад','FD_DAY_AGO_MOD_OTHER':'#VALUE# дней назад','FD_DAY_DIFF_0':'#VALUE# дней','FD_DAY_DIFF_1':'#VALUE# день','FD_DAY_DIFF_10_20':'#VALUE# дней','FD_DAY_DIFF_MOD_1':'#VALUE# день','FD_DAY_DIFF_MOD_2_4':'#VALUE# дня','FD_DAY_DIFF_MOD_OTHER':'#VALUE# дней','FD_DAY_AT_TIME':'#DAY# в #TIME#','FD_DAY_SHORT':'#VALUE#д','FD_MONTH_AGO_0':'#VALUE# месяцев назад','FD_MONTH_AGO_1':'#VALUE# месяц назад','FD_MONTH_AGO_10_20':'#VALUE# месяцев назад','FD_MONTH_AGO_MOD_1':'#VALUE# месяц назад','FD_MONTH_AGO_MOD_2_4':'#VALUE# месяца назад','FD_MONTH_AGO_MOD_OTHER':'#VALUE# месяцев назад','FD_MONTH_DIFF_0':'#VALUE# месяцев','FD_MONTH_DIFF_1':'#VALUE# месяц','FD_MONTH_DIFF_10_20':'#VALUE# месяцев','FD_MONTH_DIFF_MOD_1':'#VALUE# месяц','FD_MONTH_DIFF_MOD_2_4':'#VALUE# месяца','FD_MONTH_DIFF_MOD_OTHER':'#VALUE# месяцев','FD_MONTH_SHORT':'#VALUE#мес','FD_YEARS_AGO_0':'#VALUE# лет назад','FD_YEARS_AGO_1':'#VALUE# год назад','FD_YEARS_AGO_10_20':'#VALUE# лет назад','FD_YEARS_AGO_MOD_1':'#VALUE# год назад','FD_YEARS_AGO_MOD_2_4':'#VALUE# года назад','FD_YEARS_AGO_MOD_OTHER':'#VALUE# лет назад','FD_YEARS_DIFF_0':'#VALUE# лет','FD_YEARS_DIFF_1':'#VALUE# год','FD_YEARS_DIFF_10_20':'#VALUE# лет','FD_YEARS_DIFF_MOD_1':'#VALUE# год','FD_YEARS_DIFF_MOD_2_4':'#VALUE# года','FD_YEARS_DIFF_MOD_OTHER':'#VALUE# лет','FD_YEARS_SHORT_0':'#VALUE#л','FD_YEARS_SHORT_1':'#VALUE#г','FD_YEARS_SHORT_10_20':'#VALUE#л','FD_YEARS_SHORT_MOD_1':'#VALUE#г','FD_YEARS_SHORT_MOD_2_4':'#VALUE#г','FD_YEARS_SHORT_MOD_OTHER':'#VALUE#л','CAL_BUTTON':'Выбрать','CAL_TIME_SET':'Установить время','CAL_TIME':'Время','FD_LAST_SEEN_TOMORROW':'завтра в #TIME#','FD_LAST_SEEN_NOW':'только что','FD_LAST_SEEN_TODAY':'сегодня в #TIME#','FD_LAST_SEEN_YESTERDAY':'вчера в #TIME#','FD_LAST_SEEN_MORE_YEAR':'более года назад'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'WEEK_START':'1'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','SERVER_TZ_OFFSET':'10800','UTF_MODE':'Y','SITE_ID':'s1','SITE_DIR':'/','USER_ID':'','SERVER_TIME':'1771643280','USER_TZ_OFFSET':'0','USER_TZ_AUTO':'Y','bitrix_sessid':'02096cdbc4c91e6a9a5a63b3e7b95dbe'});</script>
<script type="text/javascript" src="/bitrix/js/main/date/main.date.js?159955296434530"></script>
<script type="text/javascript" src="/bitrix/js/main/popup/dist/main.popup.bundle.js?1634116962109107"></script>
<script type="text/javascript" src="/bitrix/js/main/core/core_date.js?163411653136080"></script>
<script type="text/javascript" src="/bitrix/js/ui/vue/vue2/prod/dist/vue.bundle.js?1635848017173206"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
<script type="text/javascript">BX.setCSSList(['/bitrix/js/main/core/css/core_date.css','/setka/css/setka_skillbox.css','/local/templates/.default/components/bitrix/news.detail/article/style.css','/static/css/newarticle.css','/local/templates/media/libs/jquery.formstyler.css','/local/templates/media/fonts/graphik-font/stylesheet.css','/static/css/main.css','/local/templates/media/template_styles.css']);</script>
<script src="https://cdn.skillbox.pro/frontend-libs/promo-banner/5.10.1/banner-plugin.min.js"></script>
<script type="text/javascript" async src="https://relap.io/api/v6/head.js?token=sI73Ph6a5BnkqK2o"></script>
<meta property="og:title" content="Как отсортировать массив в PHP 13 способами: инструкция с примерами" />
<meta property="og:description" content="Становимся настоящими ниндзя в сортировке массивов. Вместо оружия — встроенные функции PHP, быстрые и точные, как катана." />
<meta property="og:url" content="https://skillbox.ru/media/code/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami/" />
<meta property="og:type" content="article" />
<meta property="og:site_name" content="skillbox.ru" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:image" content="https://248006.selcdn.ru/main/iblock/35c/35c8cda2d4a7345ef764e2bbe5e3fa75/08314c542d9b5dea6abcca6f837da8ac.jpg" />
<meta name="relap-image" content="https://248006.selcdn.ru/main/iblock/35c/35c8cda2d4a7345ef764e2bbe5e3fa75/08314c542d9b5dea6abcca6f837da8ac.jpg" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="315" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content="https://248006.selcdn.ru/main/iblock/35c/35c8cda2d4a7345ef764e2bbe5e3fa75/08314c542d9b5dea6abcca6f837da8ac.jpg" />
<meta property="vk:image" content="https://248006.selcdn.ru/main/iblock/7c0/7c01fdba8051c61010626bee7dbffa50/a34b459f0051766696ee337f64ad8efc.jpg" />
<meta property="article:author" content="Евгений Колесников" />
<meta property="article:tag" content="статьи" />
<meta property="article:section" content="Код" />
<script type="text/javascript" src="/static/js/vendor.js?1771489421543641"></script>
<script type="text/javascript" src="/local/assets/js/common.js?177148933727419"></script>
<script type="text/javascript" src="/static/js/main.js?1771489421125222"></script>
<script type="text/javascript" src="/local/templates/media/js/main.js?17714893372418"></script>
<script type="text/javascript" src="/local/components/prmedia/popup.subscribe/templates/.default/script.js?17714893376820"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/infinity.js?177148933713735"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news/articles/script.js?1771489337246"></script>
<script type="text/javascript" src="/setka/js/setka_skillbox.js?1771489337106775"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/script.js?17714893377503"></script>
<script type="text/javascript">var _ba = _ba || []; _ba.push(["aid", "84a6082a990bbac8858fb733b97bed30"]); _ba.push(["host", "skillbox.ru"]); (function() {var ba = document.createElement("script"); ba.type = "text/javascript"; ba.async = true;ba.src = (document.location.protocol == "https:" ? "https://" : "http://") + "bitrix.info/ba.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ba, s);})();</script>
</head>
<body>
<div class="js-sticky-delimiter"></div>
<div class="bx-panel"></div>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLCGQ25" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<svg class="app-svg-visually-hidden" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="def-arrow-down-a" d="M223 20813l4 5 4-5z"/>
<path id="def-arrow-a" d="M1044.6 803.2a.81.81 0 01-.5.18.8.8 0 01-.8-.8v-3.24c-2.97.1-5.17.88-6.52 2.3a4.86 4.86 0 00-1.39 3.29.8.8 0 01-.75.83h-.04a.79.79 0 01-.79-.74c-.22-3.78.69-6.76 2.69-8.84a10.76 10.76 0 016.81-3.07v-3.3a.8.8 0 011.29-.63l7.91 6.39a.8.8 0 010 1.25zm.3-11.73v2.42a.5.5 0 01-.03.1.8.8 0 01-.05.21.78.78 0 01-.47.42.67.67 0 01-.25.05h-.01c-.06 0-3.93-.04-6.46 2.62-.8.85-1.4 1.87-1.74 2.99 1.79-1.7 4.55-2.57 8.21-2.57.44 0 .8.36.8.8v2.4l5.85-4.72z"/>
<path id="def-be-a" d="M55.6 29.58h6.12v-1.59H55.6zm.64 5.74s.26-2.23 2.58-2.23c2.32 0 2.26 2.23 2.26 2.23zm-3.23 1.27S52.56 42 58.72 42c0 0 5.26.37 5.26-3.81H61.4s-.09 1.59-2.58 1.59c0 0-2.58.17-2.58-2.55l7.74-.01c-.08-.32.9-6.42-5.16-6.36-5.77.05-5.81 5.73-5.81 5.73zm-10.34 2.8v-4.24H47s1.7.16 1.7 2.24c0 1.76-1.06 1.99-1.7 2zM47 29.61s1.16.06 1.16 1.62-.76 1.64-1.49 1.64h-4v-3.26zm4.33 1.3c0-2.68-1.81-3.91-4.26-3.91H39v15.01h8.07s4.92.15 4.92-4.43c0 0 .22-3.73-2.9-3.73 0 0 2.24-.25 2.24-2.94z"/>
<path id="def-briefcase-a" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/>
<path id="def-comments-a" d="M752 8958l-4 4v-12a1 1 0 011-1h11a1 1 0 011 1v7a1 1 0 01-1 1zm12-6v13l-3.2-4H751l2-2h9v-8h1c1 0 1 .45 1 1z"/>
<path id="def-eaye-a" d="M630 8956.22c0 1.04-3.58 5.21-8 5.21s-8-4.26-8-5.21c0-1.05 3.58-5.22 8-5.22s8 4.17 8 5.22zm-5 0h-3v-3.13a3.13 3.13 0 100 6.26 3.07 3.07 0 003-3.13z"/>
<path id="def-file-a" d="M493 9457a2 2 0 01-1.98-2v-16a2 2 0 011.98-2h19.82c1.13 0 2.07.87 2.15 2v16a2.15 2.15 0 01-2.15 2zm0-18v8.83l5.3-4.59a.98.98 0 011.35.05l5.34 5.39 3.27-2.48a.98.98 0 011.36.16l3.35 4.07V9439zm19.97 14.55l-4.27-5.18-3.21 2.43c-.4.3-.95.26-1.3-.09l-5.3-5.35-5.9 5.1v4.54h19.98zm-6.1-10.55a1.98 1.98 0 113.97.04 1.98 1.98 0 01-3.97-.04z"/>
<path id="def-gplus-a" d="M466 10169a4 4 0 013.87-3.99 4.14 4.14 0 012.93.99c-.33.36-.67.71-1.03 1.04-.72-.42-1.58-.75-2.41-.46a2.52 2.52 0 00-1.67 3.23c.41 1.35 2.09 2.1 3.4 1.52a2.22 2.22 0 001.33-1.51c-.78-.01-1.56 0-2.34-.03v-1.36h3.9a4.45 4.45 0 01-.83 3.2c-1 1.28-2.88 1.66-4.4 1.16a4 4 0 01-2.75-3.79z"/><path id="def-gplus-b" d="M476.34 10166h1.32l.01 1.33H479v1.33l-1.33.01v1.33h-1.33l-.01-1.33H475v-1.33l1.33-.01.01-1.33z"/>
<path id="def-inst-a" d="M1480.93 332c-3.5 0-3.95.02-5.32.07-1.37.07-2.3.28-3.14.6-.84.34-1.57.77-2.28 1.5a6.36 6.36 0 00-1.5 2.28 9.84 9.84 0 00-.6 3.14c-.07 1.37-.07 1.82-.07 5.32s.02 3.96.07 5.32c.07 1.37.28 2.31.6 3.14.34.85.77 1.58 1.5 2.29a6.51 6.51 0 002.28 1.5c.82.3 1.77.53 3.14.6 1.37.07 1.82.07 5.32.07s3.96-.02 5.32-.07a9.48 9.48 0 003.14-.6 6.14 6.14 0 002.29-1.5 6.36 6.36 0 001.5-2.29c.3-.81.53-1.77.6-3.14.07-1.36.07-1.82.07-5.32s-.02-3.95-.07-5.32a9.48 9.48 0 00-.6-3.14 6.14 6.14 0 00-1.5-2.28 6.36 6.36 0 00-2.29-1.5 9.84 9.84 0 00-3.14-.6c-1.38-.05-1.82-.07-5.32-.07zm0 2.32c3.45 0 3.85.02 5.22.07 1.27.05 1.94.26 2.4.45.6.25 1.03.52 1.48.97.45.45.73.89.97 1.5.18.44.39 1.14.45 2.39.07 1.37.07 1.76.07 5.21s-.01 3.85-.07 5.22a6.55 6.55 0 01-.45 2.4c-.24.6-.52 1.03-.97 1.48-.45.45-.88.73-1.49.97-.45.18-1.14.39-2.39.45-1.37.07-1.77.07-5.22.07-3.45 0-3.84-.01-5.21-.07a6.55 6.55 0 01-2.4-.45 4.11 4.11 0 01-1.49-.97 4.11 4.11 0 01-.97-1.49 7.52 7.52 0 01-.45-2.39c-.07-1.37-.07-1.77-.07-5.22 0-3.45.02-3.84.07-5.21.05-1.27.26-1.95.45-2.4.25-.6.52-1.04.97-1.49.45-.45.89-.72 1.5-.97a7.52 7.52 0 012.39-.45c1.35-.05 1.76-.07 5.21-.07z"/><path id="def-inst-b" d="M1480.93 349.2a4.3 4.3 0 110-8.59 4.3 4.3 0 010 8.6zm0-10.93a6.62 6.62 0 100 13.24 6.62 6.62 0 000-13.24z"/><path id="def-inst-c" d="M1486.27 338.01a1.54 1.54 0 113.09 0 1.54 1.54 0 01-3.09 0z"/>
<path id="def-like-down-a" d="M1004.33 543.66c-1.1 0-2.45-.86-2.61-3.31-.05-1.41.11-2.82.48-4.19h-2.96c-2.15 0-3.42-1.35-3.42-2.67 0-.39.05-.77.17-1.13a2.4 2.4 0 01-.99-2.03 2.35 2.35 0 011.02-2.05c-.12-.34-.18-.7-.17-1.06.86-.6 1.2-1.7.86-2.7 0-2.52 3.45-2.52 4.57-2.52h2.85c1.3.06 2.56.4 3.71 1 .67.36 1.41.6 2.18.67h3.23c.25 0 .5.11.65.31.12.14 1.1 1.47 1.1 4.69.03 1.8-.28 3.6-.9 5.31a.83.83 0 01-.67.5c-.03 0-3.27.4-4.85 1.98a10.32 10.32 0 00-2.8 5.94 1.4 1.4 0 01-1.45 1.26zm-6.84-10.17c0 .34.52 1 1.75 1h4.06a.83.83 0 01.8 1.1c-.5 1.5-.73 3.07-.72 4.65.08 1.1.44 1.6.79 1.72a11.94 11.94 0 013.23-6.67c1.57-1.58 4.2-2.18 5.32-2.38.41-1.37.62-2.8.61-4.24a8.18 8.18 0 00-.56-3.34h-2.75c-1-.07-1.97-.35-2.85-.81a7.53 7.53 0 00-3.04-.85h-2.85c-1.32 0-2.9.15-2.9.85-.02.11.02.22.09.3a.73.73 0 01.75.77.92.92 0 01-.85.87.85.85 0 00-.85.77c-.05.22.01.44.17.6.42.07.71.45.67.88a.87.87 0 01-.86.77.77.77 0 00-.83.85.8.8 0 00.87.85c.46.01.82.4.81.85 0 .43-.33.78-.76.8-.09.21-.12.44-.1.66z"/>
<path id="def-like-up-a" d="M944.67 520c1.1 0 2.45.87 2.61 3.32.05 1.4-.11 2.82-.48 4.18h2.96c2.15 0 3.42 1.36 3.42 2.67 0 .39-.05.77-.17 1.14a2.4 2.4 0 01.99 2.02c.04.81-.35 1.59-1.02 2.05.12.34.18.7.17 1.07-.86.6-1.2 1.7-.86 2.69 0 2.52-3.45 2.52-4.57 2.52h-2.85a8.94 8.94 0 01-3.71-.99 5.67 5.67 0 00-2.18-.67h-3.23a.83.83 0 01-.65-.32c-.12-.14-1.1-1.47-1.1-4.68-.03-1.81.28-3.62.9-5.32a.83.83 0 01.67-.5c.03 0 3.27-.4 4.85-1.98a10.32 10.32 0 002.8-5.93 1.4 1.4 0 011.45-1.27zm6.84 10.17c0-.34-.52-1-1.75-1h-4.06a.83.83 0 01-.8-1.1c.5-1.5.73-3.07.72-4.65-.08-1.1-.44-1.6-.79-1.72a11.94 11.94 0 01-3.23 6.67c-1.57 1.58-4.2 2.19-5.32 2.38a14.38 14.38 0 00-.61 4.25 8.18 8.18 0 00.56 3.33h2.75c1 .07 1.97.35 2.85.82.94.49 1.98.78 3.04.85h2.85c1.32 0 2.9-.15 2.9-.86a.35.35 0 00-.09-.3.73.73 0 01-.75-.77.92.92 0 01.85-.87c.44 0 .81-.33.85-.77a.65.65 0 00-.17-.6.81.81 0 01-.67-.87.87.87 0 01.86-.78.77.77 0 00.83-.85.8.8 0 00-.87-.85.83.83 0 01-.81-.85c0-.43.33-.78.76-.8.09-.21.12-.43.1-.66z"/>
<path id="def-like-a" d="M701.32 8960.32a.95.95 0 01-.95.95h-5.72c-.96 0-1.92-.95-2.87-.95h-.95v-6.68c.04-.6.4-1.12.95-1.36a4.78 4.78 0 002.87-4.37v-.96a.95.95 0 01.95-.95h.95c.53 0 .95.43.95.95v5.73h3.82a.9.9 0 01.96.96zm-14.31.95v-9.54h1.9a.96.96 0 01.97.95v7.64a.96.96 0 01-.96.95zm.99-8.3a.48.48 0 10.88.38.48.48 0 00-.88-.38z"/>
<path id="def-link-a" d="M626.02 1163.93l-.02 15.99 13.02.01v-4a.86.86 0 01.24-.68.9.9 0 01.66-.28 1 1 0 011 1v4.95a1 1 0 01-.29.7 1 1 0 01-.71.29H625a1 1 0 01-.71-.29 1 1 0 01-.29-.7V1163a1 1 0 011-1h3.95a1 1 0 011 1 .89.89 0 01-.93.93z"/><path id="def-link-b" d="M641.95 1171a1 1 0 01-1-1v-5.59l-9.25 9.3a.99.99 0 01-1.41-.01.99.99 0 01.01-1.41l9.24-9.29h-5.56a1 1 0 01-1-1 1 1 0 011-1h7.97a1 1 0 011 1v8a1 1 0 01-1 1z"/>
<path id="def-mail-a" d="M1058 261c0-.6-.4-1-1-1h-14c-.6 0-1 .4-1 1l8 6.5z"/><path id="def-mail-b" d="M1042 262.5v8.5c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-8.5l-8 6.5z"/>
<path id="def-outside-a" d="M1204.24 9231.16h-10.05c-.92 0-1.67-.75-1.67-1.68v-4.2c0-.46.38-.84.84-.84a.81.81 0 01.8.84v4.2h10.08v-16.8h-10.08v4.2a.81.81 0 01-.8.84.84.84 0 01-.84-.84v-4.2c0-.93.75-1.68 1.67-1.68h10.05c.92 0 1.67.75 1.67 1.68v16.8c0 .93-.75 1.68-1.67 1.68zm-15.56-10.92h11.37a.84.84 0 110 1.68h-11.36l1.91 1.92a.84.84 0 11-1.18 1.2l-3.35-3.36a.86.86 0 01-.24-.6v-.02a.83.83 0 01.24-.58l3.35-3.36a.83.83 0 011.18 0c.33.33.33.87 0 1.2z"/>
<path id="def-pencil-a" d="M1190.84 9818.68a.64.64 0 01-.19.13l-.07.06-4.42 1.82c-.1.05-.21.07-.32.07a.83.83 0 01-.77-1.15l1.84-4.4v-.02a.38.38 0 01.09-.13l.08-.13v-.01l10.82-10.82-.44-.44-3.56 3.57a.83.83 0 01-1.18-1.18l4.16-4.15a.81.81 0 011.17 0l1.03 1.03 1.86-1.86a.84.84 0 011.17 0l2.58 2.58c.33.32.33.85 0 1.18zm-2.88-1.7l-.58 1.41 1.41-.58zm.88-1.47l1.41 1.4 10.24-10.23-1.4-1.4zm12.69-12.68l-1.27 1.27 1.4 1.4 1.28-1.27z"/>
<path id="def-phone-a" d="M732.62 41c-2.25 0-6.37-2.73-10.24-6.78a33.08 33.08 0 01-5.22-6.96c-1.33-2.53-1.52-4.32-.56-5.31l2.91-2.72c.17-.16.4-.24.63-.23.24.02.46.13.61.32l3.79 4.58c.23.28.28.68.12 1.01l-1.47 3.08 5.24 5.48 2.93-1.54a.83.83 0 01.96.12l4.38 3.96c.17.16.28.38.3.63a.97.97 0 01-.22.67l-2.53 3.02c-.33.34-.81.67-1.63.67zm-14.76-17.78c-.15.21-.25 1.09.83 3.15 1.06 2 2.8 4.32 4.93 6.55 3.87 4.06 7.53 6.25 9 6.25.2 0 .3-.04.33-.08l1.94-2.3-3.27-2.95-2.98 1.56a.84.84 0 01-1.01-.17l-6.12-6.42a.92.92 0 01-.16-1.05l1.48-3.12-2.82-3.42z"/>
<path id="def-plus-a" d="M1223.33 4172.67h-6.66v6.66a.67.67 0 01-1.34 0v-6.66h-6.66a.67.67 0 010-1.34h6.66v-6.66a.67.67 0 011.34 0v6.66h6.66a.67.67 0 010 1.34z"/>
<path id="def-search-a" d="M1092.53 24.87a6.7 6.7 0 10-.05 13.4 6.7 6.7 0 00.05-13.4zm12.1 18.85a.95.95 0 01-1.35 0l-5.4-5.43a8.62 8.62 0 111.35-1.35l5.4 5.43c.37.37.37.98 0 1.35z"/>
<path id="def-shape-a" d="M879 13323h-4a1 1 0 01-1-1v-4a1 1 0 011-1h.85c-1.29-8.14-8.38-15.22-16.85-16.81v.81a1 1 0 01-1 1h-4a1 1 0 01-1-1v-.81c-8.47 1.6-15.56 8.67-16.85 16.81h.85a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4a1 1 0 011-1h1.13c1.03-7.24 6.24-13.76 13.07-17h-6.48a1.98 1.98 0 01-1.72 1.01c-.97 0-1.8-.69-1.98-1.65a2 2 0 011.28-2.23 2 2 0 012.42.87H853v-1a1 1 0 011-1h4a1 1 0 011 1v1h12.27a2.01 2.01 0 110 2h-6.47c6.83 3.24 12.04 9.76 13.07 17H879a1 1 0 011 1v4a1 1 0 01-1 1zm-43-4h-2v2h2zm21-21h-2v2h2zm21 21h-2v2h2zm-22.93-12.51a.52.52 0 01.1-.18l.01-.03.03-.03a1 1 0 01.2-.21l.06-.04c.06-.04.12-.08.19-.1l.04-.02.09-.01.05-.01.16-.03.15.03h.04l.11.01.04.02.19.1.02.02.02.01a.92.92 0 01.24.25l.02.03c.04.05.08.12.1.18l.03.05c.02.07 2.33 7.26 8.51 10.59.26.14.45.39.51.68a.97.97 0 01-.2.82 23.7 23.7 0 00-3.99 8.81 8.02 8.02 0 012.21 5.57 1 1 0 01-1 1h-14a1 1 0 01-1-1 8.02 8.02 0 012.21-5.57 23.66 23.66 0 00-3.99-8.8 1 1 0 01.31-1.51c6.21-3.34 8.49-10.52 8.51-10.59l.03-.04zm.93 20.49a6 6 0 00-5.92 5.02h11.84a6 6 0 00-5.92-5.02zm-4.06-.9a8.17 8.17 0 018.12 0 25.8 25.8 0 013.47-7.78 20.33 20.33 0 01-6.53-6.96v6.93a2 2 0 01-.97 3.73 2.03 2.03 0 01-2.03-2 2 2 0 011-1.7v-6.96a20.33 20.33 0 01-6.53 6.96 25.8 25.8 0 013.47 7.78z"/>
<path id="def-strawberry-a" d="M873.26 13427.96a7.49 7.49 0 01-4.13-1.21 20.45 20.45 0 012.02 8.92c0 10.41-17.26 18.25-28.46 18.25-3.71 0-6.53-.86-8.17-2.48l-.1-.1c-3.9-4.01-2.65-13.97.62-21.78 3.77-9.01 9.53-14.39 15.41-14.39 3.1 0 6.17.68 8.97 1.99a8.12 8.12 0 01-.65-1.24c-1.09-2.7-.53-5.87 1.68-9.44a1 1 0 011.11-.45c.21.06 5.12 1.38 6.8 5.49.8 2.19.7 4.61-.29 6.72 1.25-.51 2.58-.79 3.92-.83 5.12 0 7.74 4.75 8.4 7.26a.97.97 0 01-.45 1.1 12.95 12.95 0 01-6.68 2.19zm-36.36 2.36c-3.42 8.19-3.85 16.84-.97 19.69l.08.09c1.26 1.18 3.62 1.82 6.68 1.82a38.27 38.27 0 0017.26-4.82c3.43-1.92 9.18-5.96 9.18-11.43a18.4 18.4 0 00-18.68-18.5c-5.93 0-10.89 6.79-13.55 13.15zm29.59-18.05c-.97-2.38-3.49-3.6-4.73-4.07-1.52 2.71-1.89 5.05-1.12 6.96.96 2.37 3.48 3.6 4.73 4.08 1.52-2.71 1.89-5.05 1.12-6.97zm5.5 7.13c-1.75.08-3.45.6-4.95 1.51.59 1.54 2.36 5.06 6.22 5.06 1.75-.08 3.45-.6 4.94-1.5-.59-1.55-2.36-5.07-6.21-5.07zm-13.43 13.54h3v3h-3zm-4-5h3v3h-3zm2 13h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm2 22h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm-5 14h3v3h-3zm0-9h3v3h-3z"/>
<path id="def-telegram-a" d="M823.8 272.93l-4.09 20.05c-.3 1.42-1.16 1.76-2.36 1.1l-6.52-4.77-3.13 3c-.55.47-.75.66-1.27.65-.5 0-.74-.3-1.03-1.1l-2.4-7.29-6.26-1.94c-1.01-.32-1.06-1.66.31-2.05l25.01-9.39c1.14-.52 2.18 0 1.74 1.74zm-17.39 18.55l.6-5.26 11.83-10.54c.31-.36.09-.88-.61-.42l-14.24 8.87z"/>
<path id="def-tm-a" d="M1406.46 346.34l13.28-8.34c.65-.44.86.05.57.39l-11.02 9.91-.57 4.96zm16.84-12.16l-23.32 8.83c-1.27.37-1.24 1.62-.3 1.93l5.84 1.82 2.24 6.86c.28.75.5 1.04.96 1.04.49 0 .67-.18 1.19-.62.58-.55 1.5-1.43 2.92-2.83l6.08 4.49c1.12.62 1.92.3 2.21-1.04l3.8-18.85c.41-1.63-.55-2.12-1.62-1.63z"/>
<path id="def-trash-a" d="M1175 9805h-1.09l-1.8 13.12a2.15 2.15 0 01-2.11 1.88h-8a2.14 2.14 0 01-2.1-1.88l-1.78-13.12H1157a1 1 0 010-2h5v-1a3 3 0 013-3h2a3 3 0 013 3v1h5a1 1 0 010 2zm-7-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v1h4zm-7.87 3l1.75 12.9c.02.05.07.09.12.1h8c.06-.01.1-.05.12-.11l1.78-12.89zm6.87 3h2v6h-2zm-4 0h2v6h-2z"/>
<path id="def-triangle-a" d="M1238 6883l7.22 7.22 7.22-7.22z"/>
<path id="def-user-circle-a" d="M1265.24 30.18a10 10 0 01-2.18 10.9 6.94 6.94 0 00-4.7-4.69 5 5 0 10-4.66.01c-2.24.72-4 2.47-4.72 4.71a10 10 0 1116.26-10.93zm-6.22 1.82a3 3 0 11-6-.01 3 3 0 016 .01zm-8.3 10.48c.4-2.6 2.65-4.5 5.28-4.48 2.73 0 5.1 1.96 5.27 4.37l.03.09a9.9 9.9 0 01-10.57.02zM1256 46a12.01 12.01 0 000-24 12 12 0 100 24z"/>
<path id="def-vb-a" d="M955.45 276.38c.68 3.25.79 6.51-.02 9.76-.14.57-.36 1.11-.58 1.65-.84 2.05-2.5 3.13-4.57 3.73-1.63.48-3.31.69-5 .82-.89.07-2.29.03-3.18.02-.76-.01-.55-.04-1.04.45-.96.97-1.84 1.82-2.76 2.84a28 28 0 01-1.35 1.35v-4.93c0-.25-.07-.4-.3-.5-.26-.1-.5-.24-.75-.34a6.95 6.95 0 01-4.35-4.98 19.93 19.93 0 01-.51-6.16c.07-1.4.26-2.79.64-4.15a6.8 6.8 0 013.48-4.25 13.83 13.83 0 014.79-1.47 25.9 25.9 0 019.8.59 8.9 8.9 0 013.5 1.69 6.59 6.59 0 012.2 3.88zm-12.05-1.52c.54.04 1.07.15 1.6.28 1.98.5 3.52 1.53 4.32 3.43.42.99.63 2.02.7 3.08.02.27.15.42.43.42.27-.01.38-.19.39-.43.02-.21.01-.42.01-.64a7.41 7.41 0 00-1.39-4.12c-1.49-1.96-3.43-2.7-6-2.82-.31-.02-.49.1-.51.42-.01.31.21.36.45.38zm4.39 4.61c.11.4.21.81.26 1.22.03.27-.03.64.42.65.32.01.4-.13.43-.67a4.58 4.58 0 00-.68-2.46c-.96-1.52-2.37-2.16-4.16-2.32-.28-.03-.48.08-.52.37-.05.3.14.44.41.48.55.08 1.08.22 1.6.4a3.32 3.32 0 012.24 2.33zm-2.22-1.46a2.29 2.29 0 00-.89-.22c-.38.03-.58.19-.58.45.01.33.3.33.52.39l.27.06c.72.19 1.13.65 1.27 1.36.03.13.04.27.08.4.06.18.18.31.4.31.21-.01.34-.13.39-.32l.04-.35a2.4 2.4 0 00-1.5-2.08zm4.89 7.94c-.78-.65-1.6-1.25-2.47-1.78-1.02-.62-1.77-.45-2.47.49l-.11.14c-.32.39-.72.54-1.22.4a5.89 5.89 0 01-1.51-.74 6.76 6.76 0 01-2.77-3.19c-.35-.82-.19-1.35.54-1.88l.28-.2c.55-.45.68-.89.37-1.52a9.94 9.94 0 00-2.3-3.05 1.3 1.3 0 00-.97-.36 2.9 2.9 0 00-2.62 2.74c-.01.37.08.78.24 1.17 2.23 5.38 6.16 9.1 11.6 11.36.4.17.82.27 1.25.15a3.75 3.75 0 002.55-2.16c.28-.61.14-1.13-.39-1.57z"/>
<path id="def-ynadex-a" d="M471.93 10326.44h-.59c-.92 0-1.8-.64-1.8-2.24 0-1.67.83-2.35 1.68-2.35h.7v4.59zm.92-5.44h-1.6c-1.55 0-2.87 1.13-2.87 3.33 0 1.32.64 2.3 1.78 2.78l-2.13 3.68c-.07.12 0 .21.1.21h1c.08 0 .14-.03.17-.1l1.93-3.6h.7v3.6c0 .05.04.1.1.1h.86c.08 0 .11-.04.11-.1v-9.77c0-.09-.06-.13-.15-.13z"/>
<path id="def-ytube-a" d="M1343.37 349.72v-9.44l6.27 4.72zm-7.81-14.03a3.54 3.54 0 00-3.56 3.51v11.6a3.54 3.54 0 003.56 3.51h19.88a3.54 3.54 0 003.56-3.5V339.2a3.54 3.54 0 00-3.56-3.51h-19.88z"/>
</defs>
<symbol id="icon-arrow-chevron" viewBox="0 0 9 15"><path d="M7.07.862L0 7.93 7.072 15l1.06-1.06-6.011-6.01L8.13 1.922 7.07.862z"/></symbol>
<symbol id="icon-arrow-down" viewBox="0 0 8 5"><use xlink:href="#def-arrow-down-a" transform="translate(-223 -20813)"/></symbol>
<symbol id="icon-arrow-left" viewBox="0 0 18 12"><path d="M.1 6.3c-.1-.3 0-.6.1-.8l4.3-4.3c.3-.3.7-.3 1 0 .3.3.3.7 0 1l-3 3.1h14.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7H2.5l3.1 3.1c.3.3.3.8 0 1-.2.2-.3.2-.4.3-.2.1-.5 0-.7-.2L.2 6.6c-.1-.1-.1-.2-.1-.3z"/></symbol>
<symbol id="icon-arrow-menu" viewBox="0 0 10 5"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0l5 5 5-5H0z"/></symbol>
<symbol id="icon-arrow-right" viewBox="0 0 15 12"><path d="M14.19 5.77c.11.26.05.57-.15.78l-4.32 4.33a.72.72 0 01-1.02 0 .72.72 0 010-1.02l3.09-3.1H.69A.72.72 0 010 6.04c0-.38.31-.7.69-.72h11.1L8.7 2.23a.73.73 0 01.33-1.21c.24-.06.51.01.69.19l4.32 4.32a.6.6 0 01.15.24z"/></symbol>
<symbol id="icon-arrow" viewBox="0 0 20 17"><use xlink:href="#def-arrow-a" transform="translate(-1033 -789)"/></symbol>
<symbol id="icon-be" viewBox="0 0 25 16"><use xlink:href="#def-be-a" transform="translate(-39 -27)"/></symbol>
<symbol id="icon-be2-mob" viewBox="0 0 34 34"><path d="M15.426 16.508s1.507-.112 1.507-1.879S15.7 12 14.138 12H9v9.875h5.138s3.137.099 3.137-2.915c0 0 .137-2.452-1.85-2.452zm-4.162-2.753h2.874s.699 0 .699 1.027c0 1.028-.411 1.177-.877 1.177h-2.696v-2.204zm2.742 6.365h-2.742v-2.64h2.874s1.041-.013 1.041 1.357c0 1.142-.761 1.271-1.173 1.283zM23.408 12.582h-4.074v1.216h4.074v-1.216zM21.458 14.513c-3.797 0-3.794 3.793-3.794 3.793s-.26 3.775 3.794 3.775c0 0 3.38.193 3.38-2.626H23.1s.058 1.062-1.584 1.062c0 0-1.737.116-1.737-1.718h5.116s.56-4.286-3.437-4.286zm1.545 2.968h-3.244s.213-1.522 1.738-1.522 1.506 1.522 1.506 1.522z"/></symbol>
<symbol id="icon-be2" viewBox="0 0 56 56"><path d="M27.475 27.946s1.987-.148 1.987-2.479c0-2.33-1.625-3.467-3.685-3.467H19v13.024h6.777s4.137.13 4.137-3.844c0 0 .18-3.234-2.439-3.234zm-5.489-3.631h3.791s.921 0 .921 1.355-.542 1.551-1.156 1.551h-3.556v-2.906zm3.616 8.394h-3.616v-3.48h3.79s1.374-.018 1.374 1.788c0 1.506-1.004 1.677-1.548 1.692zM38.004 22.767H32.63v1.604h5.373v-1.604zM35.432 25.314c-5.009 0-5.004 5.003-5.004 5.003s-.344 4.98 5.004 4.98c0 0 4.456.254 4.456-3.464h-2.292s.077 1.4-2.088 1.4c0 0-2.291.154-2.291-2.266h6.748s.738-5.653-4.533-5.653zm2.037 3.915H33.19s.28-2.008 2.291-2.008c2.013 0 1.987 2.008 1.987 2.008z"/></symbol>
<symbol id="icon-briefcase" viewBox="834 13519 48 44"><path d="M836.5 13563c-1.4 0-2.5-1.2-2.5-2.6v-19.4c0 .6.4 1 1 1h1v18.4c0 .3.2.6.5.6h42.9c.3 0 .5-.3.5-.6v-18.4h1c.6 0 1-.4 1-1s-.4-1-1-1h-1v-10.4c0-.3-.2-.5-.5-.6h-42.9c-.3 0-.5.3-.5.6v10.4h-1c-.6 0-1 .4-1 1v-11.4c0-1.4 1.1-2.5 2.5-2.6H849v1c0 .6.4 1 1 1s1-.4 1-1v-1h14v1c0 .6.4 1 1 1 .3 0 .5-.1.7-.3.2-.2.3-.4.3-.7v-1h12.5c1.4 0 2.5 1.2 2.5 2.6v30.9c0 1.4-1.1 2.6-2.5 2.6h-43zm18.4-21H836v-2h18.9c.6 0 1 .4 1 1s-.4 1-1 1zm25.1-2v2h-18.9c-.6 0-1-.4-1-1s.4-1 1-1H880zm-13-16.8c0-2.3-1.9-4.2-4.2-4.2h-9.6c-2.3 0-4.2 1.9-4.2 4.2v3.8h2v-3.8c0-1.2 1-2.2 2.2-2.2h9.6c1.2 0 2.2 1 2.2 2.2v3.8h2v-3.8z"/><clipPath id="def-briefcase-b"><use xlink:href="#def-briefcase-a" overflow="visible"/></clipPath><g clip-path="url(#def-briefcase-b)"><path stroke-width="4" stroke-miterlimit="50" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/></g></symbol>
<symbol id="icon-burger" viewBox="0 0 20 14"><g fill-rule="evenodd"><path d="M0 0h20v2H0zM0 6h20v2H0zM0 12h20v2H0z"/></g></symbol>
<symbol id="icon-cancel-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zm0-22a10 10 0 100 20 10 10 0 000-20zm4.71 13.29L13.41 12l3.3-3.29a1 1 0 00-.02-1.4 1 1 0 00-1.4-.02L12 10.59l-3.29-3.3a1 1 0 00-1.4.02 1 1 0 00-.02 1.4l3.3 3.29-3.3 3.29a1 1 0 00.02 1.4 1 1 0 001.4.02l3.29-3.3 3.29 3.3a1 1 0 001.42 0 1 1 0 000-1.42z"/></symbol>
<symbol id="icon-clip" viewBox="0 0 25 22"><path d="M12.1 21.37a1.02 1.02 0 01-.71-1.73L21.74 9.11a4.19 4.19 0 000-5.87 4.04 4.04 0 00-5.78 0l-12 12.21c-.59.49-.94 1.2-.97 1.97.05.49.28.95.63 1.29.31.35.77.53 1.23.48.74-.17 1.4-.57 1.89-1.15l9.42-9.58a.98.98 0 011.41 0c.39.4.39 1.04 0 1.44l-9.42 9.58A5.3 5.3 0 015.1 21.2a3.37 3.37 0 01-2.89-1.05A4.16 4.16 0 011 17.54a4.62 4.62 0 011.55-3.53l12-12.2a6.03 6.03 0 018.6 0 6.24 6.24 0 010 8.74L12.8 21.07a.98.98 0 01-.7.3z"/></symbol>
<symbol id="icon-clock" viewBox="0 0 24 24"><path d="M0 12a12 12 0 1124 0 12 12 0 01-24 0zm2 0a10 10 0 1020 0 10 10 0 00-20 0zm14 5a1 1 0 00.71-1.71L13 11.59V5a1 1 0 00-1-1 1 1 0 00-1 1v7a1 1 0 00.08.38c.05.12.12.24.21.33l4 4c.19.18.45.29.71.29z"/></symbol>
<symbol id="icon-close-menu" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.636 2.303L13.97.636 8.136 6.469 2.303.636.636 2.303 6.47 8.136.636 13.97l1.667 1.667 5.833-5.833 5.833 5.833 1.667-1.666-5.833-5.834 5.833-5.833z"/></symbol>
<symbol id="icon-close" viewBox="0 0 16 15"><g fill-rule="evenodd"><path d="M1.963.045l13.791 12.86-1.364 1.463L.6 1.508z"/><path d="M14.39.045L.6 12.905l1.364 1.463 13.79-12.86z"/></g></symbol>
<symbol id="icon-comments" viewBox="0 0 16 16"><use xlink:href="#def-comments-a" transform="translate(-748 -8949)"/></symbol>
<symbol id="icon-eaye" viewBox="0 0 16 11"><use xlink:href="#def-eaye-a" transform="translate(-614 -8951)"/></symbol>
<symbol id="icon-fb" viewBox="0 0 13 25"><path d="M8.44 25V13.6h3.83l.58-4.45H8.44V6.31c0-1.28.36-2.16 2.2-2.16H13V.18A29.7 29.7 0 009.57 0c-3.4 0-5.73 2.07-5.73 5.87v3.28H0v4.45h3.84V25z"/></symbol>
<symbol id="icon-fb2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.415 24.638v-7.131h2.457l.366-2.784h-2.823v-1.776c0-.8.23-1.351 1.411-1.351h1.514v-2.49A21.931 21.931 0 0019.14 9c-2.182 0-3.677 1.295-3.677 3.672v2.051H13v2.784h2.463v7.13h2.952z"/></symbol>
<symbol id="icon-fb2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M30.142 38.625V29.22h3.24l.483-3.671H30.14v-2.343c0-1.056.305-1.782 1.862-1.782H34V18.14a28.937 28.937 0 00-2.902-.14c-2.877 0-4.849 1.708-4.849 4.843v2.706H23v3.671h3.25v9.405h3.892z"/></symbol>
<symbol id="icon-file" viewBox="0 0 24 20"><use xlink:href="#def-file-a" transform="translate(-491 -9437)"/></symbol>
<symbol id="icon-github-mob" viewBox="0 0 34 34"><path d="M17.2 10c-3.978 0-7.2 3.307-7.2 7.386 0 3.263 2.063 6.031 4.923 7.007.36.07.492-.16.492-.355 0-.175-.006-.64-.009-1.256-2.003.445-2.425-.99-2.425-.99-.328-.853-.801-1.081-.801-1.081-.652-.458.05-.449.05-.449.723.052 1.103.761 1.103.761.642 1.13 1.685.803 2.097.615.065-.478.25-.803.456-.988-1.599-.185-3.28-.82-3.28-3.65 0-.806.28-1.464.741-1.981-.08-.187-.324-.938.063-1.955 0 0 .603-.198 1.98.757a6.754 6.754 0 011.8-.25 6.754 6.754 0 011.8.25c1.368-.955 1.971-.757 1.971-.757.387 1.017.144 1.768.072 1.955.46.517.738 1.175.738 1.981 0 2.838-1.683 3.462-3.285 3.644.252.222.486.674.486 1.366 0 .989-.009 1.783-.009 2.023 0 .193.126.424.495.35 2.881-.969 4.942-3.739 4.942-6.997 0-4.079-3.224-7.386-7.2-7.386z"/></symbol>
<symbol id="icon-github" viewBox="0 0 56 56"><path d="M27.913 19C22.436 19 18 23.362 18 28.741c0 4.305 2.84 7.955 6.778 9.242.496.092.677-.21.677-.468 0-.232-.008-.844-.012-1.657-2.758.588-3.34-1.306-3.34-1.306-.45-1.125-1.102-1.425-1.102-1.425-.898-.604.07-.592.07-.592.995.068 1.518 1.004 1.518 1.004.884 1.49 2.32 1.059 2.887.81.09-.63.344-1.059.628-1.302-2.202-.244-4.515-1.082-4.515-4.814 0-1.063.384-1.932 1.02-2.614-.112-.246-.446-1.236.086-2.578 0 0 .83-.26 2.727.999a9.676 9.676 0 012.478-.329 9.676 9.676 0 012.478.329c1.883-1.26 2.714-.999 2.714-.999.532 1.342.198 2.332.099 2.578a3.737 3.737 0 011.016 2.614c0 3.742-2.317 4.566-4.523 4.805.347.293.67.89.67 1.803 0 1.303-.013 2.35-.013 2.667 0 .255.173.56.681.463 3.966-1.279 6.804-4.932 6.804-9.23 0-5.38-4.439-9.741-9.913-9.741z"/></symbol>
<symbol id="icon-gplus" viewBox="0 0 13 8"><use xlink:href="#def-gplus-a" transform="translate(-466 -10165)"/><use xlink:href="#def-gplus-b" transform="translate(-466 -10165)"/></symbol>
<symbol id="icon-head" viewBox="0 0 54 45"><g transform="translate(2 2)" fill-rule="evenodd"><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" fill-rule="nonzero"/><path stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" d="M46.923 13.25L22.99 0 0 14.007l23.179 13.44L46.923 13.25V30"/><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><circle stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" cx="47.308" cy="32.692" r="2.692"/><path d="M32.733 18.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865-3.694-1.99-7.403-3.98-11.097-5.957-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957zM36.733 15.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865a4281.61 4281.61 0 00-11.097-5.957c-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957z" fill-rule="nonzero"/></g></symbol>
<symbol id="icon-inst" viewBox="0 0 26 26"><use xlink:href="#def-inst-a" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-b" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-c" transform="translate(-1468 -332)"/></symbol>
<symbol id="icon-instagram-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.027 20.23a3.801 3.801 0 01-3.797 3.797h-6.433A3.801 3.801 0 0110 20.23v-6.433A3.801 3.801 0 0113.797 10h6.433a3.801 3.801 0 013.797 3.797v6.433zm-7.014-7.052a3.84 3.84 0 00-3.835 3.835 3.84 3.84 0 003.835 3.836 3.84 3.84 0 003.836-3.836 3.84 3.84 0 00-3.836-3.835zm0 6.848A3.016 3.016 0 0114 17.013 3.016 3.016 0 0117.013 14a3.016 3.016 0 013.013 3.013 3.016 3.016 0 01-3.013 3.013zm2.794-7.077c0-.625.509-1.133 1.133-1.133.625 0 1.134.508 1.134 1.133s-.509 1.134-1.134 1.134a1.135 1.135 0 01-1.133-1.134z"/></symbol>
<symbol id="icon-instagram" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M37.5 32.492a5.014 5.014 0 01-5.008 5.008h-8.484A5.014 5.014 0 0119 32.492v-8.484A5.014 5.014 0 0124.008 19h8.484a5.014 5.014 0 015.008 5.008v8.484zm-9.25-9.3a5.064 5.064 0 00-5.058 5.058c0 2.79 2.269 5.059 5.058 5.059 2.79 0 5.059-2.27 5.059-5.059 0-2.79-2.27-5.058-5.059-5.058zm0 9.032a3.978 3.978 0 01-3.974-3.974 3.978 3.978 0 013.974-3.974 3.978 3.978 0 013.974 3.974 3.978 3.978 0 01-3.974 3.974zm3.685-9.334c0-.825.67-1.495 1.494-1.495.825 0 1.495.67 1.495 1.495 0 .824-.67 1.495-1.495 1.495-.824 0-1.494-.67-1.494-1.495z"/></symbol>
<symbol id="icon-like-down" viewBox="0 0 20 22"><use xlink:href="#def-like-down-a" transform="translate(-995 -522)"/></symbol>
<symbol id="icon-like-up" viewBox="0 0 20 22"><use xlink:href="#def-like-up-a" transform="translate(-934 -520)"/></symbol>
<symbol id="icon-like" viewBox="0 0 16 16"><use xlink:href="#def-like-a" transform="translate(-687 -8946)"/></symbol>
<symbol id="icon-link" viewBox="0 0 19 21"><use xlink:href="#def-link-a" transform="translate(-624 -1161)"/><use xlink:href="#def-link-b" transform="translate(-624 -1161)"/></symbol>
<symbol id="icon-mail" viewBox="0 0 16 12"><use xlink:href="#def-mail-a" transform="translate(-1042 -260)"/><use xlink:href="#def-mail-b" transform="translate(-1042 -260)"/></symbol>
<symbol id="icon-minus-zoom" viewBox="0 0 26 2"><path stroke-linecap="square" stroke-miterlimit="50" stroke-width="2" d="M1.5 1h23.19"/></symbol>
<symbol id="icon-outside" viewBox="0 0 21 21"><use xlink:href="#def-outside-a" transform="translate(-1185 -9211)"/></symbol>
<symbol id="icon-pencil" viewBox="0 0 20 21"><use xlink:href="#def-pencil-a" transform="translate(-1185 -9800)"/></symbol>
<symbol id="icon-phone" viewBox="0 0 21 22"><use xlink:href="#def-phone-a" transform="translate(-716 -19)"/></symbol>
<symbol id="icon-play-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zM2 12a10 10 0 1020 0 10 10 0 00-20 0z"/><path d="M11.01 14.52c-.05.28.1.55.35.67.25.13.55.07.74-.14l2.85-2.94c.26-.27.27-.7.02-.98l-2.83-2.94a.69.69 0 00-.75-.13.67.67 0 00-.38.65z"/></symbol>
<symbol id="icon-play-reviews" viewBox="0 0 9 9"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.074 4.507c0 .41-.745.741-.745.741l-5.854 2.91a.619.619 0 01-.563-.054.649.649 0 01-.294-.494V1.392A.586.586 0 01.895.853a.557.557 0 01.595.01l5.839 2.903s.745.331.745.741z"/></symbol>
<symbol id="icon-play" viewBox="0 0 17 17"><path d="M17 9.02c0 .88-1.6 1.59-1.6 1.59L2.84 16.86c-.4.16-.84.12-1.21-.12A1.4 1.4 0 011 15.68V2.33c-.03-.47.2-.92.6-1.16.39-.24.89-.23 1.27.02L15.4 7.43s1.6.71 1.6 1.59z"/></symbol>
<symbol id="icon-plus-zoom" viewBox="0 0 24 24"><path d="M23 13H13v10a1 1 0 01-1 1 1 1 0 01-1-1V13H1a1 1 0 01-1-1 1 1 0 011-1h10V1a1 1 0 011-1 1 1 0 011 1v10h10a1 1 0 011 1 1 1 0 01-1 1z"/></symbol>
<symbol id="icon-plus" viewBox="0 0 16 16"><use xlink:href="#def-plus-a" transform="translate(-1208 -4164)"/></symbol>
<symbol id="icon-search" viewBox="0 0 22 22"><use xlink:href="#def-search-a" transform="translate(-1083 -22)"/></symbol>
<symbol id="icon-shape" viewBox="0 0 48 38"><use xlink:href="#def-shape-a" transform="translate(-832 -13296)"/></symbol>
<symbol id="icon-share" viewBox="0 0 26 24"><path d="M21.03 8a3.95 3.95 0 01-3.02-1.41l-9.08 4.54c.12.55.13 1.11.02 1.66l9.06 4.61a3.98 3.98 0 11-.9 1.79l-9.05-4.61a4 4 0 11-.05-5.22l9.1-4.55A4 4 0 1121.03 8zm0 14a2 2 0 002-2 2 2 0 10-2 2zm-18-10a2 2 0 104 0 2 2 0 00-4 0zm16-8a2 2 0 104 0 2 2 0 00-4 0z"/></symbol>
<symbol id="icon-smile" viewBox="0 0 23 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 23.278c-6.351 0-11.5-5.148-11.5-11.5C0 5.427 5.149.278 11.5.278S23 5.427 23 11.778c-.005 6.35-5.15 11.495-11.5 11.5zm0-21.083a9.583 9.583 0 00-9.583 9.583 9.584 9.584 0 1019.167 0A9.599 9.599 0 0011.5 2.195zm-6.613 12.87a7.38 7.38 0 006.613 4.38 7.333 7.333 0 006.613-4.38.957.957 0 00-.93-1.427.96.96 0 00-.796.603 5.277 5.277 0 01-9.774 0 .959.959 0 00-1.726.824zm10.447-3.287a1.917 1.917 0 110-3.833 1.917 1.917 0 010 3.833zM5.75 9.862a1.917 1.917 0 103.833 0 1.917 1.917 0 00-3.833 0z"/></symbol>
<symbol id="icon-socials" viewBox="0 0 40 40"><g fill-rule="evenodd"><circle cx="20" cy="20" r="20"/><path d="M20.021 31h-.485C13.717 31 9 26.08 9 20.009c0-6.07 4.717-10.991 10.536-10.991.309-.024.619-.024.928 0 5.819 0 10.536 4.92 10.536 10.99C31 26.08 26.283 31 20.464 31h-.443zm0-2.198h.316c4.655 0 8.43-3.937 8.43-8.793s-3.775-8.793-8.43-8.793h-.632c-4.655 0-8.43 3.937-8.43 8.793s3.775 8.793 8.43 8.793h.316z"/><path d="M19.382 31C13.648 31 9 26.08 9 20.009c0-6.07 4.648-10.991 10.382-10.991.305-.024.61-.024.914 0 .252.02.488.138.665.33 5.385 5.95 5.385 15.338 0 21.29a.998.998 0 01-1.142.252.992.992 0 01-.437.11zm.322-19.784h-.238c-4.588 0-8.306 3.937-8.306 8.793s3.718 8.793 8.306 8.793a.981.981 0 01.26 0c4.23-5.007 4.23-12.58 0-17.586h-.022z" clip-rule="evenodd"/><path d="M19.91 30.967a1.101 1.101 0 01-.419-.077 1.101 1.101 0 01-1.21-.253c-5.708-5.95-5.708-15.337 0-21.288a1.1 1.1 0 01.704-.33 6.664 6.664 0 011.012 0C26.074 9.02 31 13.94 31 20.01S26.074 31 19.997 31l-.088-.033zm-.353-19.783a13.177 13.177 0 000 17.585c.091-.012.184-.012.275 0 4.861 0 8.802-3.936 8.802-8.792s-3.94-8.793-8.802-8.793h-.275z" clip-rule="evenodd"/><path d="M27.944 17H11.056C10.473 17 10 16.552 10 16s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1zM27.944 25H11.056C10.473 25 10 24.552 10 24s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1z"/></g></symbol>
<symbol id="icon-strawberry" viewBox="0 0 49 48"><use xlink:href="#def-strawberry-a" transform="translate(-832 -13406)"/></symbol>
<symbol id="icon-telegram" viewBox="0 0 29 24"><use xlink:href="#def-telegram-a" transform="translate(-795 -271)"/></symbol>
<symbol id="icon-telegram2-mob" viewBox="0 0 34 34"><path d="M14.95 19.329l-.25 3.528c.358 0 .514-.154.7-.34l1.683-1.607 3.486 2.553c.64.356 1.09.168 1.263-.588L24.12 12.15c.204-.946-.341-1.316-.964-1.084l-13.452 5.15c-.918.357-.904.869-.156 1.1l3.44 1.07 7.988-4.998c.375-.25.717-.112.436.137L14.95 19.33z"/></symbol>
<symbol id="icon-telegram2" viewBox="0 0 56 56"><path d="M25.848 30.985l-.331 4.653c.473 0 .678-.203.924-.447l2.22-2.121 4.598 3.367c.843.47 1.437.223 1.665-.776l3.018-14.143.001-.001c.268-1.247-.45-1.734-1.272-1.428L18.929 26.88c-1.211.47-1.193 1.145-.206 1.451l4.536 1.411 10.536-6.593c.495-.328.946-.146.575.182l-8.522 7.653z"/></symbol>
<symbol id="icon-tm" viewBox="0 0 26 22"><use xlink:href="#def-tm-a" transform="translate(-1399 -334)"/></symbol>
<symbol id="icon-trash" viewBox="0 0 20 21"><use xlink:href="#def-trash-a" transform="translate(-1156 -9799)"/></symbol>
<symbol id="icon-triangle" viewBox="0 0 16 8"><use xlink:href="#def-triangle-a" transform="translate(-1237 -6883)"/></symbol>
<symbol id="icon-tw" viewBox="0 0 18 15"><path d="M18 1.75c-.66.3-1.37.5-2.12.59A3.7 3.7 0 0017.5.27c-.71.43-1.5.74-2.34.91a3.68 3.68 0 00-6.39 2.56c0 .3.03.58.09.85A10.45 10.45 0 011.25.69 3.75 3.75 0 002.4 5.68a3.67 3.67 0 01-1.68-.47v.05a3.75 3.75 0 002.97 3.67 3.51 3.51 0 01-1.67.06 3.7 3.7 0 003.45 2.6A7.33 7.33 0 010 13.14a10.37 10.37 0 005.66 1.68c6.79 0 10.51-5.7 10.51-10.64l-.01-.49A7.35 7.35 0 0018 1.76z"/></symbol>
<symbol id="icon-twitter-mob" viewBox="0 0 34 34"><path d="M24.406 12.386a6.16 6.16 0 01-1.702.466 2.937 2.937 0 001.3-1.632c-.572.34-1.202.58-1.873.715a2.952 2.952 0 00-5.109 2.02c0 .233.02.458.068.672a8.36 8.36 0 01-6.087-3.089 2.957 2.957 0 00.908 3.947 2.917 2.917 0 01-1.335-.363v.032a2.967 2.967 0 002.366 2.902c-.24.066-.502.097-.774.097-.189 0-.38-.01-.56-.05a2.981 2.981 0 002.76 2.057 5.934 5.934 0 01-3.661 1.26c-.242 0-.475-.011-.707-.04a8.314 8.314 0 004.53 1.325c5.435 0 8.406-4.502 8.406-8.404 0-.13-.004-.257-.01-.382a5.89 5.89 0 001.48-1.533z"/></symbol>
<symbol id="icon-twitter" viewBox="0 0 56 56"><path d="M38 21.828c-.707.31-1.46.515-2.244.615a3.874 3.874 0 001.713-2.153 7.783 7.783 0 01-2.47.943 3.894 3.894 0 00-6.738 2.664c0 .308.026.605.09.887a11.025 11.025 0 01-8.028-4.074 3.922 3.922 0 00-.533 1.969 3.9 3.9 0 001.73 3.237 3.847 3.847 0 01-1.76-.48v.043a3.913 3.913 0 003.12 3.827 3.887 3.887 0 01-1.02.129c-.25 0-.502-.015-.738-.067.505 1.543 1.937 2.677 3.64 2.714a7.827 7.827 0 01-4.83 1.66c-.32 0-.626-.013-.932-.052a10.966 10.966 0 005.976 1.748c7.167 0 11.086-5.938 11.086-11.085a9.95 9.95 0 00-.014-.503A7.77 7.77 0 0038 21.828z"/></symbol>
<symbol id="icon-user-circle" viewBox="0 0 24 24"><use xlink:href="#def-user-circle-a" transform="translate(-1244 -22)"/></symbol>
<symbol id="icon-vb" viewBox="0 0 25 27"><use xlink:href="#def-vb-a" transform="translate(-931 -270)"/></symbol>
<symbol id="icon-view-list" viewBox="0 0 15 15"><path d="M0 6V0h15v6zm0 9V9h15v6z"/></symbol>
<symbol id="icon-view-tile" viewBox="0 0 15 15"><path d="M0 6V0h6v6zm9 0V0h6v6zm0 9V9h6v6zm-9 0V9h6v6z"/></symbol>
<symbol id="icon-vk" viewBox="0 0 22 14"><path d="M10.61 13.8h1.3s.39-.04.59-.27c.19-.2.18-.59.18-.59s-.02-1.8.78-2.07c.8-.26 1.82 1.75 2.91 2.52.81.58 1.44.46 1.44.46l2.89-.05s1.52-.09.8-1.33c-.06-.1-.42-.92-2.15-2.59-1.82-1.75-1.58-1.47.61-4.5 1.33-1.84 1.87-2.97 1.7-3.45-.16-.46-1.14-.34-1.14-.34l-3.26.02s-.24-.03-.42.08-.29.36-.29.36-.52 1.43-1.2 2.64c-1.46 2.57-2.04 2.7-2.27 2.54-.56-.37-.42-1.49-.42-2.28 0-2.49.36-3.52-.71-3.79A5.26 5.26 0 0010.43 1c-1.16-.01-2.15.01-2.7.29-.38.19-.66.61-.49.63.22.03.71.14.97.51.33.47.32 1.53.32 1.53s.19 2.92-.45 3.29c-.44.25-1.04-.26-2.34-2.59-.66-1.19-1.16-2.5-1.16-2.5s-.1-.25-.27-.38c-.21-.16-.5-.21-.5-.21l-3.1.02s-.47.01-.64.22c-.15.19-.01.58-.01.58s2.43 5.89 5.17 8.87c2.52 2.72 5.38 2.54 5.38 2.54z"/></symbol>
<symbol id="icon-vk2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.79 21.913h.947a.77.77 0 00.436-.201.795.795 0 00.13-.459s-.016-1.399.573-1.608c.588-.209 1.336 1.351 2.13 1.954.297.259.68.383 1.063.346l2.123-.032s1.116-.073.589-1.03a7.642 7.642 0 00-1.582-2.002c-1.337-1.35-1.153-1.134.451-3.473.978-1.424 1.367-2.3 1.245-2.67a.866.866 0 00-.832-.257l-2.4.016a.463.463 0 00-.305.056.702.702 0 00-.214.282 15.134 15.134 0 01-.886 2.042c-1.062 1.978-1.49 2.082-1.665 1.962-.405-.29-.306-1.15-.306-1.77 0-1.913.268-2.717-.511-2.926a4.053 4.053 0 00-1.123-.12 4.804 4.804 0 00-1.987.225c-.275.144-.48.466-.351.49.273.03.524.167.703.386.165.37.246.774.237 1.182 0 0 .145 2.26-.329 2.54-.32.194-.764-.2-1.719-1.993a17.581 17.581 0 01-.848-1.938.803.803 0 00-.198-.29.84.84 0 00-.367-.16l-2.276.016a.723.723 0 00-.466.169.581.581 0 00-.016.442s1.788 4.559 3.805 6.859c.99 1.217 2.427 1.931 3.95 1.962z"/></symbol>
<symbol id="icon-vk2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M28.274 34.074h1.25c.213-.024.413-.117.574-.265.117-.177.177-.39.172-.605 0 0-.02-1.845.755-2.12.776-.276 1.763 1.78 2.811 2.576.391.342.895.506 1.4.456l2.802-.042s1.47-.096.775-1.358a10.079 10.079 0 00-2.085-2.64c-1.763-1.782-1.522-1.495.594-4.582 1.29-1.877 1.804-3.033 1.642-3.52a1.143 1.143 0 00-1.098-.34l-3.163.021a.61.61 0 00-.403.075.925.925 0 00-.282.37 19.972 19.972 0 01-1.17 2.694c-1.4 2.61-1.964 2.747-2.196 2.588-.534-.382-.403-1.516-.403-2.333 0-2.524.353-3.584-.675-3.86a5.345 5.345 0 00-1.48-.16 6.336 6.336 0 00-2.62.298c-.363.19-.635.615-.464.646.36.039.691.221.927.51.218.487.325 1.02.312 1.558 0 0 .192 2.98-.433 3.352-.423.254-1.007-.265-2.267-2.63a23.184 23.184 0 01-1.118-2.556 1.06 1.06 0 00-.262-.382 1.109 1.109 0 00-.484-.212l-3.002.021a.953.953 0 00-.615.223.767.767 0 00-.02.583s2.358 6.013 5.018 9.046c1.305 1.606 3.2 2.548 5.209 2.588z"/></symbol>
<symbol id="icon-yandex" viewBox="0 0 5 11"><path d="M4.847 0H3.259C1.7 0 .376 1.169.376 3.438c0 1.36.64 2.364 1.783 2.86L.028 10.092c-.07.123 0 .22.111.22h.99c.083 0 .139-.028.166-.097L3.231 6.49h.697v3.726c0 .041.041.097.097.097h.864c.083 0 .111-.042.111-.11V.138C5 .04 4.944 0 4.847 0zm-.92 5.61h-.584c-.92 0-1.81-.66-1.81-2.31 0-1.719.835-2.42 1.684-2.42h.71v4.73z" fill-rule="nonzero"/></symbol>
<symbol id="icon-ynadex" viewBox="0 0 5 10"><use xlink:href="#def-ynadex-a" transform="translate(-468 -10321)"/></symbol>
<symbol id="icon-ytube" viewBox="0 0 27 20"><use xlink:href="#def-ytube-a" transform="translate(-1332 -335)"/></symbol>
</svg>
<div class="header-banner topBanner" data-type="header" style="display: block; position: sticky; top: 0; z-index: 999;">
<a data-source="212239" data-banner="226288" class="universal-notice js-universal-notice-notice universal-notice--webp universal-notice--bitrix universal-notice--active" href="https://skillbox.ru/sale/main/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_banners_header_all_all_skillbox" target="_blank" style="--banner-bg: #5927E9;--banner-color: #fff;--button-font-color: #000000;--button-bg-color: #FFFFFF;--banner-img-left: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.png);--banner-img-left-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.webp);--banner-img-center: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-center-mobile: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-mobile-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-right: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.png);--banner-img-right-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.webp);">
<span class="universal-notice__wrapper">
<b class="universal-notice__title">
Скидка до 55% и 3 курса в подарок
</b>
<span class="universal-timer js-universal-notice-timer js-universal-notice-active">
<span class="universal-timer__days js-universal-notice-days">2 дня</span>
<span class="js-universal-notice-hours">13</span>
:<span class="js-universal-notice-minutes">30</span>
:<span class="js-universal-notice-seconds">09</span>
</span>
<span class="universal-notice__button">Выбрать курс</span>
</span>
</a><script>
document.addEventListener('DOMContentLoaded', () => {
// Установите конечную дату
const deadline = new Date();
deadline.setDate(5);
deadline.setHours(0, 0, 0);
// Найдите элементы DOM
var timer = document.querySelector('.universal-timer');
const elDays = timer.querySelector('.js-universal-notice-days');
const elHours = timer.querySelector('.js-universal-notice-hours');
const elMinutes = timer.querySelector('.js-universal-notice-minutes');
const elSeconds = timer.querySelector('.js-universal-notice-seconds');
// Функция обновления таймера
const updateTimer = () => {
const now = new Date();
let diff = Math.max(0, deadline - now);
if (diff === 0) {
let lastDayOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let lastDay = lastDayOfMonth.getDate();
if (lastDay - now.getDate() < 4) {
deadline.setMonth(deadline.getMonth() + 1, 1);
} else {
deadline.setDate(deadline.getDate() + 4);
}
diff = Math.max(0, deadline - now);
}
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(diff / (1000 * 60 * 60 * 24));
var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)).toString();
var minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)).toString();
var seconds = Math.floor((diff % (1000 * 60)) / 1000).toString();
if (timer) {
let dayTitles = ['день', 'дня', 'дней'];
let daySuffix = dayTitles[(days % 100 > 4 && days % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][days % 10 < 5 ? days % 10 : 5]]
elDays.innerHTML = days + ' ' + daySuffix;
elHours.innerHTML = hours.padStart(2, '0');
elMinutes.innerHTML = minutes.padStart(2, '0');
elSeconds.innerHTML = seconds.padStart(2, '0');
}
};
updateTimer();
const timerId = setInterval(updateTimer, 1000);
});
</script>
<style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{position:sticky;z-index:5;top:0;box-sizing:border-box;text-decoration:none;display:none;justify-content:space-between;overflow:hidden;color:var(--banner-color);background-color:var(--banner-bg);font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:opacity .25s ease-in-out}.universal-notice--active{display:flex}.universal-notice--bitrix{z-index:1000}.universal-notice *,.universal-notice ::after,.universal-notice ::before{box-sizing:inherit}.universal-notice::after,.universal-notice::before{display:none;width:194px;height:56px;content:"";background-size:194px 56px;background-repeat:no-repeat}.universal-notice--no-webp::before{background-image:var(--banner-img-left)}.universal-notice--no-webp::after{background-image:var(--banner-img-right)}.universal-notice--webp::before{background-image:var(--banner-img-left-webp)}.universal-notice--webp::after{background-image:var(--banner-img-right-webp)}.universal-notice--new-design{position:static;margin:4px;border-radius:16px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:166px;height:48px;background-size:166px 48px}.universal-notice__wrapper{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;padding:12px;width:100%}.universal-notice--new-design .universal-notice__wrapper::after{height:48px}.universal-notice__title{font-weight:500;font-size:15px;line-height:16px}.universal-notice--new-design .universal-notice__title{font-size:14px;line-height:15px}.universal-timer{display:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:24px;line-height:26px}.universal-notice--new-design .universal-timer{font-size:22px;line-height:24px}.universal-timer__days{margin-right:8px}.universal-notice__button{grid-column:2/3;padding:6px 16px;border-radius:6px;color:var(--button-font-color);background-color:var(--button-bg-color);font-weight:500;font-size:14px;line-height:20px}.universal-notice-sticky{position:fixed;z-index:5;top:0;left:0;width:100%;padding:11px 8px;color:var(--banner-color);background-color:var(--banner-bg);text-align:center;transition:transform .3s ease-in-out;will-change:transform;transform:translateY(-200%)}.universal-notice-sticky--show{transform:translateY(0)}@media (min-width:360px) and (max-width:0px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:360px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:768px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:768px) and (max-width:0px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:1024px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1024px) and (max-width:0px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1280px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1280px) and (max-width:0px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1400px) and (max-width:0px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}@media (min-width:1400px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}</style> </div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
window.TopBanner = true;
});
$(document).ready(function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-show',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
});
$(document).on('click', '.header-banner', function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-click',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
var page = window.location;
var $article = $('section[data-article-text]');
var pageId = $article.data('articleid');
if(pageId === undefined)
{
pageId = 0;
}
window.dataLayer.push({
'event': 'go_to_course',
'courseID': 226288,
'page': page,
'pageID': pageId
});
});
</script>
<header class="header">
<div id="menu" class="header__wrapper container">
<div class="header__logo link-active">
<a href="/media/" class="header__media-main-link">
<img src="/local/templates/media/images/logo/skillbox-media.svg" alt="Skillbox"/>
</a>
<a href="/media/code/" class="header__media-category-link">
<span class="header__media-category js-category ">Код</span>
</a>
</div>
<a href="/media/about-media/" v-if="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link--about" target="_blank" style="display: none">
Про медиа
</a>
<button v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="toggle-menu header__toggle toggle-menu--course"
@click="openCourseMenu()"
:class="{ 'toggle-menu--active': isOpenCourseMenu }"
style="display: none">
Онлайн-курсы
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"
:class="{
'animated-chevron--default': isOpenCourseMenu,
'animated-chevron--active animated-chevron--default': ! isOpenCourseMenu
}"
class="animated-chevron toggle-menu__arrow select-arrow select-arrow--small">
<line x1="6.48415" y1="5.92242" x2="11.4909" y2="10.9291" stroke="currentColor" stroke-width="1.78"
class=" animated-chevron__line animated-chevron__line1 animated-chevron__line1--default"></line>
<line x1="6.3701" y1="5.9224" x2="11.3768" y2="0.915678" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
<line x1="1.36337" y1="10.9291" x2="6.3701" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line animated-chevron__line2 animated-chevron__line2--default"></line>
<line x1="1.47743" y1="0.915681" x2="6.48415" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
</svg>
</button>
<a href="https://skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=button_main_skillbox&utm_term=mainskillbox" v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link-ml0 menu-nav__link--main" target="_blank" style="display: none">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<div v-if="isOpenCourseMenu && !isMobile" class="menu-block menu-block--desktop" @click="closeCourseMenu($event)" style="display: none">
<div class="menu-block__wrapper menu-block__wrapper--desktop">
<div class="menu-block__content vue-container">
<span class="menu-block__title">
Направления обучения
</span>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/?utm_source=media&utm_medium=button&utm_campaign=button_courses_all&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/?utm_source=media&utm_medium=button&utm_campaign=button_courses_code&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/?utm_source=media&utm_medium=button&utm_campaign=button_courses_design&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management?utm_source=media&utm_medium=button&utm_campaign=button_courses_management&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing?utm_source=media&utm_medium=button&utm_campaign=button_courses_marketing&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games?utm_source=media&utm_medium=button&utm_campaign=button_courses_games&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia?utm_source=media&utm_medium=button&utm_campaign=button_courses_multimedia&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Кино и Музыка
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology?utm_source=media&utm_medium=button&utm_campaign=button_courses_psychology&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/health?utm_source=media&utm_medium=button&utm_campaign=button_courses_health&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Здоровье
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/spo/?utm_source=media&utm_medium=button&utm_campaign=button_courses_spo&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Цифровой колледж
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/?utm_source=media&utm_medium=button&utm_campaign=button_courses_general-development&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/?utm_source=media&utm_medium=button&utm_campaign=button_courses_engineering&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/?utm_source=media&utm_medium=button&utm_campaign=button_courses_english&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/?utm_source=media&utm_medium=button&utm_campaign=button_courses_other&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
</div>
</div>
</div>
<div v-show="isOpenMenu" class="menu-block" @click="closeMenu($event)" style="display: none">
<div class="menu-block__wrapper">
<div class="menu-block__content vue-container">
<h2 class="menu-block__header">Редакции</h2>
<div class="tab-nav" data-tab-parent="" data-action="index">
<div class="tab-nav__item">
<a class="" data-tab-name="media_nav" data-section-id="0" data-code="All directions" href="/media/">
<img src="/local/templates/media/images/common/menu-icon-mobile-1.png" alt=""/>
Все
</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/history/">
<img src="/local/templates/media/images/common/menu-icon-mobile-19.png"
alt=""/>
Истории</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="8"
data-code="Design"
href="/media/design/">
<img src="/local/templates/media/images/common/menu-icon-mobile-2.png" alt=""/>
Дизайн</a>
</div>
<div class="tab-nav__item">
<a class="tab-active"
data-tab-name="media_nav"
data-section-id="10"
data-code="Code"
href="/media/code/">
<img src="/local/templates/media/images/common/menu-icon-mobile-3.png" alt=""/>
Код</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="18"
data-code="GameDev"
href="/media/gamedev/">
<img src="/local/templates/media/images/common/menu-icon-mobile-4.png" alt=""/>
Геймдев</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="21"
data-code="Business"
href="/media/business/">
<img src="/local/templates/media/images/common/menu-icon-mobile-9.png" alt=""/>
Бизнес</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="9"
data-code="Marketing"
href="/media/marketing/">
<img src="/local/templates/media/images/common/menu-icon-mobile-5.png" alt=""/>
Маркетинг</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="11"
data-code=""
href="/media/management/">
<img src="/local/templates/media/images/common/menu-icon-mobile-6.png" alt=""/>
Управление</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="29"
data-code=""
href="/media/cinemusic/">
<img src="/local/templates/media/images/common/menu-icon-mobile-22.png" alt=""/>
Кино</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="36"
data-code=""
href="/media/music/">
<img src="/local/templates/media/images/common/menu-icon-mobile-23.png" alt=""/>
Музыка</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="34"
data-code=""
href="/media/photo/">
<img src="/local/templates/media/images/common/menu-icon-mobile-20.png" alt=""/>
Проектная фотография</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="17"
data-code="Development"
href="/media/growth/">
<img src="/local/templates/media/images/common/menu-icon-mobile-7.png" alt=""/>
Развитие</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="33"
data-code=""
href="/media/health/">
<img src="/local/templates/media/images/common/menu-icon-mobile-16.png" alt=""/>
Здоровье</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="32"
data-code=""
href="/media/money/">
<img src="/local/templates/media/images/common/menu-icon-mobile-17.png" alt=""/>
Деньги</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="22"
data-code="Education"
href="/media/education/">
<img src="/local/templates/media/images/common/menu-icon-mobile-8.png" alt=""/>
Образование</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="31"
data-code=""
href="/media/edtech/">
<img src="/local/templates/media/images/common/menu-icon-mobile-11.png" alt=""/>
EdTech</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="30"
data-code=""
href="/media/corptrain/">
<img src="/local/templates/media/images/common/menu-icon-mobile-10.png" alt=""/>
Корп. обучение</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="35"
data-code=""
href="/media/skillbox-blog/">
<img src="/local/templates/media/images/common/menu-icon-mobile-21.png" alt=""/>
Блог Skillbox</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/media/glossary/">
<img src="/local/templates/media/images/common/menu-icon-mobile-18.png"
alt=""/>
Глоссарий</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/specials/">
<img src="/local/templates/media/images/common/menu-icon-mobile-13.png"
alt=""/>
Спецпроекты</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/course/career-guide-free/">
<img src="/local/templates/media/images/common/menu-icon-mobile-15.png"
alt=""/>
Профориентация</a>
</div>
</div>
<h2 class="menu-block__header">Онлайн-курсы</h2>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Мультимедиа
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
<a href="/media/about-media/" rel="nofollow" class="menu-nav__link">
Про медиа
</a>
<a href="https://skillbox.ru/" rel="nofollow" class="menu-nav__link">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
</div>
</div>
<button v-if="isMobile" class="menu-toggle"
@click="openMenu()"
:class="{ 'menu-toggle--opened': isOpenMenu }" style="opacity: 0">
<span v-if="isOpenMenu" class="menu-toggle__line"></span>
<svg v-if="!isOpenMenu" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 5.5H0V4H24V5.5ZM24 11.5H0V13H24V11.5ZM24 19H0V20.5H24V19Z" fill="black"/>
</svg>
</button>
</div>
<script>
BX.Vue.create({
el: '#menu',
data: {
isOpenMenu: false,
isOpenCourseMenu: false,
isMobile: false,
isSubOpen: false,
display: 'none'
},
computed: {
isMobile() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
return w < 1024;
}
},
methods: {
openMenu() {
this.isOpenMenu = !this.isOpenMenu;
document.getElementsByTagName('body')[0].classList.toggle('scroll-locked');
window.addEventListener('keyup', this.closeMenu);
},
closeMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeMenu);
}
},
openCourseMenu() {
this.isOpenCourseMenu = !this.isOpenCourseMenu;
if (this.isOpenCourseMenu) {
document.getElementsByTagName('body')[0].classList.add('scroll-locked');
window.addEventListener('keyup', this.closeCourseMenu);
} else {
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
closeCourseMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenCourseMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
openSub() {
this.isSubOpen = !this.isSubOpen;
},
isMobileFn() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
this.isMobile = (w < 1024);
}
},
created() {
window.addEventListener("resize", this.isMobileFn);
document.querySelector('.menu-block').style.display = '';
document.querySelector('.menu-toggle').style.opacity = '1';
document.querySelector('.menu-nav__link').style.display = '';
this.display = 'block';
this.isMobileFn();
},
destroyed() {
window.removeEventListener("resize", this.isMobileFn);
}
});
</script>
</header>
<main class="content">
<div class="page style-update">
<div class="page-wrap">
<style>
.article-inner .rr-widget__title {
padding-top: 0 !important;
}
.article-inner div[data-retailrocket-markup-block] {
margin-top: -32px;
display: none;
}
.article-inner {
font-family: 'Graphik';
}
</style>
<div class="under_header_banner" data-type="under_header"><!-- Yandex.RTB R-A-13443663-10 -->
<div id="yandex_rtb_R-A-13443663-10"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-13443663-10",
"renderTo": "yandex_rtb_R-A-13443663-10"
})
})
</script>
</div> <div data-area="article" data-title="Как отсортировать массив в PHP / Skillbox Media" class=" noFullClass">
<div class="article-inner">
<section class="top-section-detail-page ">
<div class="container">
<div class="article-preview-info">
<div class="article-preview-info__tags ">
<div class="tag article-preview-info__tag">
<a href="/media/code/"
class="tag-item programming">
Код </a>
</div>
</div>
<a class="info-hashtag article-preview-info__hashtag" href="/media/topic/articles/">
#статьи </a>
<ul class="info article-preview__info-box">
<li class="info-item"> <time class="info-text" datatime="#">17 июн 2022</time></li>
<li class="info-item hidden">
<span class="info-icon"><img src="/local/templates/media/images/icons/like.svg" alt=""></span>
<span class="info__text js-article-like-value">0</span>
</li>
</ul>
</div>
<div class="row">
<div class="top-section-detail-page__title-block col-xl-9 col-lg-10">
<div class="article-preview">
<h1 class="article-preview__title">Как отсортировать массив в PHP 13 способами: инструкция с примерами</h1>
<p class="article-preview__description">Становимся настоящими ниндзя в сортировке массивов. Вместо оружия — встроенные функции PHP, быстрые и точные, как катана.</p>
</div>
</div>
</div>
</div>
</section>
<section data-article-text
data-articleId="212239"
data-courseId="927"
>
<div class="container">
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div> <!-- //share -->
</noindex>
<div class="row">
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-poster">
<picture >
<img src="https://248006.selcdn.ru/main/iblock/484/4846224a76f8c258221c3d256b11623a/40b1892ad71e6b44036707dfc5db4f30.png" itemprop='image' class='hidden-xs' />
</picture> <picture >
<img src="https://248006.selcdn.ru/main/iblock/484/4846224a76f8c258221c3d256b11623a/40b1892ad71e6b44036707dfc5db4f30.png" itemprop='image' class='visible-xs' />
</picture> </div>
<noindex>
<p class="article-poster-text" data-nosnippet>
Иллюстрация: Polina Vari для Skillbox Media </p>
</noindex>
</div>
<div class="col-xl-3 col-lg-4 col-author">
<div class="article-author">
<div class="article-author__image">
<a href="/media/authors/evgeniy-kolesnikov/">
<img src="https://248006.selcdn.ru/main/iblock/ca7/ca7a2bea6e19545fc82f91092d46d55b/16618759c3f44ea76f145f96716b1505.png" alt="Евгений Колесников">
</a>
</div>
<div class="article-author__info">
<div class="article-author__name">
Евгений Колесников </div>
<div class="article-author__description">
Журналист, автор канала «<a style="color:blue;" target="_blank;" href="https://t.me/dark_lord_of_communications">Тёмный Лорд Коммуникаций</a>». </div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row flex-row-rev">
<div class="col-xl-3 col-lg-4 col-author">
<div class="js-article-banner" data-article-banner-mobile data-type="side_mounted" data-article-banner-sticky-start>
<!--AdFox START-->
<!--yandex_skillbox.media-->
<!--Площадка: Skillbox / Сквозной для застройщика Легенда / Боковой баннер сквозной для застройщика Легенда-->
<!--Категория: <не задана>-->
<!--Тип баннера: Media banner-->
<div id="adfox_176131540100027244"></div>
<script>
window.yaContextCb.push(()=>{
Ya.adfoxCode.create({
ownerId: 11649869,
containerId: 'adfox_176131540100027244',
params: {
p1: 'dkugb',
p2: 'p'
}
})
})
</script> </div>
<div class="js-article-banner" data-article-banner-mobile data-type="vertical" data-article-banner-sticky-end></div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="container container--setka">
<div class="js-article-banner" data-type="top"></div>
<div class="article-detail-text__setka" data-detail-text>
<div class="stk-post stk-layout_12col_18068 stk-theme_26309" data-stk="{"images":[{"id":35396,"alt":"","caption":""}]}" data-ui-id="post" data-ce-tag="post" data-reset-type="class" data-layout-type="auto" data-editor-version="3.2.8-rc1"><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset stk-theme_26309__mb_15" data-ce-tag="paragraph">В PHP массивом называют структуру данных, которая позволяет хранить упорядоченный набор значений по принципу <u class="stk-reset">ключ => значение</u>. И количество инструментов для работы с массивами тут впечатляет: для одной только сортировки существует 13 встроенных функций! В этой статье мы покажем, как ими пользоваться, чтобы получать информацию в нужном виде.</p><h2 class="stk-theme_26309__style_large_header stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Способы сортировки</strong></h2><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Все функции PHP для сортировки массивов «конструируются» из четырёх основных критериев:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">вид сортировки — по ключу или значениям;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">порядок сортировки — восходящий, нисходящий, естественный, пользовательский и прочие;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">способ обработки ключей — с сохранением связи или нет;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">наличие уточняющих опций — в семи из этих функций можно указать предпочтительный способ сортировки и дополнительные параметры («флаги»).</li></ul><p class="stk-reset" data-ce-tag="paragraph">Вот функции, которые позволяют это сделать:</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img src="/upload/setka_images/13582716062022_69c9faef5a28895c0ddfa1fab18552e6f3753621.jpg" data-image-id="35396" data-image-name="POWERPNT_EwQG5oiXxr.jpg" width="1315" height="750" loading="lazy" class="stk-image stk-reset"/></div><figcaption style="display:block" class="stk-reset stk-description" data-ce-tag="description">Список функций сортировки массивов в PHP<br><em class="stk-reset">Изображение: Евгений Колесников для Skillbox Media</em></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">У каждой из функций есть название, указывающее на вид сортировки и завершающееся круглыми скобками. Эти названия на первый взгляд кажутся не особо говорящими, поэтому для начала лучше выбирать функцию под конкретную задачу, сверяясь с табличкой на официальном сайте. При этом легко запомнить, что функции с буквой «k» сортируют массивы по ключам.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В зависимости от выбранной функции внутри скобок указывается массив или несколько массивов для сортировки, а затем могут идти опции (флаги):</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_REGULAR</u> — сравнивать элементы в нормальном порядке, не меняя типов;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_NUMERIC</u> — сравнивать элементы как числа;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_STRING</u> — сравнивать элементы как строки;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_LOCALE_STRING</u> — сравнивать элементы как строки, руководствуясь текущим местонахождением, то есть локалью <a class="stk-reset" href="https://www.php.net/manual/en/class.locale.php" target="_blank">(Locale</a>);</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_NATURAL</u> — сравнивать элементы как строки в естественном порядке;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">SORT_FLAG_CASE</u> — можно объединить с <u class="stk-reset">SORT_STRING</u> или <u class="stk-reset">SORT_NATURAL</u>, чтобы сделать сортировку нечувствительной к регистру.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Давайте попробуем в действии отсортировать массивы разными способами. В этом нам помогут редактор кода <a href="https://notepad-plus-plus.org/" target="_blank" class="stk-reset">Notepad++</a> и среда разработки <a href="https://www.apachefriends.org/index.html" target="_blank" class="stk-reset">XAMPP</a> для запуска PHP-кода в браузере.</p><p class="stk-reset" data-ce-tag="paragraph">Во всех примерах будем сначала выводить исходный массив, а затем его же после сортировки (помните, что сортировка меняет массив, то есть её результат сохраняется). Для удобства чтения будем осуществлять вывод с помощью привычной функции <a class="stk-reset" href="https://www.php.net/manual/en/function.echo.php" target="_blank"><u class="stk-reset">echo</u></a> в связке с <a class="stk-reset" href="https://www.php.net/manual/en/function.implode.php" target="_blank"><u class="stk-reset">implode()</u></a><u class="stk-reset">/<a class="stk-reset" href="https://www.php.net/manual/en/function.print-r.php" target="_blank">print_r()</a></u> или циклом <a class="stk-reset" href="https://www.php.net/manual/en/control-structures.foreach.php" target="_blank"><u class="stk-reset">foreach</u></a>.</p><p class="stk-reset" data-ce-tag="paragraph">Также для красоты будем сопровождать результаты подписями (HTML-заголовки<a class="stk-reset" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements" target="_blank"> <u class="stk-reset"><h2></u> и <u class="stk-reset"><h3></u></a>) и переносом строк (HTML-элемент <a class="stk-reset" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br" target="_blank"><u class="stk-reset"><br></u></a>).</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><?php
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h1>СОРТИРОВКА МАССИВОВ</h1>"</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Начало нашего кода</figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Числовая сортировка: зарплаты</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Создадим массив чисел и отсортируем его в порядке убывания, от большего значения к меньшему. Возьмём самый простой пример: массив зарплат в рублях:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">$salaries = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(<span class="hljs-number" style="color: rgb(255, 115, 253);">45000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">65000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">35000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">75000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">55000</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Так он выглядит с выводом результата.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h2>Сортировка вакансий по зарплатам</h2>"</span>;
$salaries = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(<span class="hljs-number" style="color: rgb(255, 115, 253);">45000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">65000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">35000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">75000</span>, <span class="hljs-number" style="color: rgb(255, 115, 253);">55000</span>);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Исходный массив вакансий по зарплатам целиком, до сортировки</h3>"</span>;
print_r($salaries);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Массив вакансий по зарплатам до сортировки –- только значения (исходный порядок)</h3>"</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, $salaries) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код исходного массива зарплат с выводом результата</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Исходный массив вакансий по зарплатам целиком, до сортировки:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">45000</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">65000</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">35000</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">75000</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">55000</span> )
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Массив вакансий по зарплатам до сортировки — только значения (исходный порядок):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">45000, 65000, 35000, 75000, 55000</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Как видим, сейчас зарплаты внутри массива расположены в произвольном порядке, а нам бы хотелось сначала увидеть самые выгодные вакансии. Значит, надо найти в таблице такой метод, который умеет сортировать значения в порядке убывания — нам подойдёт <a class="stk-reset" href="https://www.php.net/manual/en/function.rsort.php" target="_blank">rsort()</a>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">rsort($<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>, <span class="hljs-keyword" style="color: rgb(150, 203, 254);">FLAGS</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Объяснение:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">rsort()</u> — название функции, в скобках указываются параметры;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">$array</u> — массив для сортировки;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">на месте опции <u class="stk-reset">FLAGS</u> можно указать другие правила сортировки массива (флаги).</li></ul><p class="stk-reset" data-ce-tag="paragraph">А теперь попробуем нашу функцию в деле. На первом шаге передадим в неё массив с зарплатами — <u class="stk-reset">$salaries</u>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">rsort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$salaries</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Далее прописываем вывод результата:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Массив вакансий по зарплатам после сортировки через rsort() (по значению, по убыванию)</h3>"</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, $salaries) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код для сортировки массива зарплат</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Вот что у нас получилось на выходе:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">75000, 65000, 55000, 45000, 35000</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Теперь возьмёмся за массив текстовых значений.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Текстовая сортировка: виды птиц</strong></h2><p class="stk-reset" data-ce-tag="paragraph">По <a class="stk-reset" href="https://bigenc.ru/biology/text/3589638" target="_blank">данным</a> Большой российской энциклопедии, в мире насчитывается более двухсот видов сов. Было бы неплохо создать про них сайт, чтобы каждый мог узнать о совах побольше! Начнём с создания «массива сов», руководствуясь<a class="stk-reset" href="http://ornithology.su/books/item/f00/s00/z0000029/st000.shtml" target="_blank"> книгой</a> Ю. Б. Пукинского «Жизнь сов».</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h2>Сортируем сов</h2>"</span>;
$owls = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"tytonidae"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Сипухи"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"tyto"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Сипухи"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"strigidae"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Настоящие совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"otus"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Совки"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"bubo"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Филины"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ketupa"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Рыбные совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"nyctea"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Белые совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"surnia"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Ястребиные совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"glaucidium"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Сычики"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ninox"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Иглоногие совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"athene"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Сычи"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"strix"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Неясыти"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"asfo"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Ушастые совы"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"aegolius"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Мохноногие сычи"</span>
);
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код исходного массива видов сов</figcaption></figure><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-built_in">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Исходный массив названий видов сов целиком, до сортировки</h3>"</span>;
<span class="hljs-built_in">print</span>_r(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>);
<span class="hljs-built_in">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Названия видов сов до сортировки -- только значения (исходный порядок)</h3>"</span>;
<span class="hljs-built_in">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код вывода исходного массива видов сов</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Исходный массив названий видов сов целиком, до сортировки:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [tytonidae] => Сипухи [tyto] => Сипухи [strigidae] => Настоящие совы [otus] => Совки [bubo] => Филины [ketupa] => Рыбные совы [nyctea] => Белые совы [surnia] => Ястребиные совы [glaucidium] => Сычики [ninox] => Иглоногие совы [athene] => Сычи [strix] => Неясыти [asfo] => Ушастые совы [aegolius] => Мохноногие сычи )
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Названия видов сов до сортировки — только значения (исходный порядок):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">Сипухи, Сипухи, Настоящие совы, Совки, Филины, Рыбные совы, Белые совы, Ястребиные совы, Сычики, Иглоногие совы, Сычи, Неясыти, Ушастые совы, Мохноногие сычи</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">В данном случае в роли ключей ассоциативного массива у нас выступают латинские названия видов, а значениями являются русские названия.</p><p class="stk-reset" data-ce-tag="paragraph">В зависимости от задачи нам может понадобиться как латинское, так и русское название. Кроме этого, было бы интересно иметь возможность получать информацию о случайно выбранной сове, а ещё — представлять текстовые значения в алфавитном порядке.</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Отсюда вытекает необходимость использования сразу трёх различных функций сортировки:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="https://www.php.net/manual/en/function.ksort.php" target="_blank"><u class="stk-reset">ksort()</u></a> для сортировки по ключам (латинским названиям) по алфавиту;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="https://www.php.net/manual/en/function.asort.php" target="_blank"><u class="stk-reset">asort()</u></a> для сортировки по значениям (русским названиям), также по алфавиту;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><a class="stk-reset" href="https://www.php.net/manual/en/function.shuffle.php" target="_blank"><u class="stk-reset">shuffle()</u></a> для получения случайных русских названий сов.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Синтаксис <u class="stk-reset">ksort()</u> и <u class="stk-reset">asort()</u> такой же, как и в предыдущем примере у <u class="stk-reset">rsort()</u>, а с <u class="stk-reset">shuffle()</u> всё ещё проще — она принимает только название массива.</p><p class="stk-reset" data-ce-tag="paragraph">Посмотрим на функции в деле:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">ksort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>);
<span class="hljs-built_in">echo</span><span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Названия видов сов после сортировки через ksort() (по ключу, по алфавиту, по возрастанию)</h3>"</span>;
<span class="hljs-built_in">print</span>_r(array_keys(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>));
asort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>);
<span class="hljs-built_in">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Названия видов сов после сортировки через asort() (по значению, по алфавиту, по возрастанию)</h3>"</span>;
<span class="hljs-built_in">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
shuffle(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>);
<span class="hljs-built_in">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Названия видов сов после сортировки через shuffle() (по значению, случайный порядок)</h3>"</span>;
<span class="hljs-built_in">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$owls</span>) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код для сортировки массива видов сов</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Названия видов сов после сортировки через <u class="stk-reset">ksort()</u> (по ключу, по алфавиту, по возрастанию):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => aegolius [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => asfo [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => athene [<span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>] => bubo [<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>] => glaucidium [<span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>] => ketupa [<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span>] => ninox [<span class="hljs-number" style="color: rgb(255, 115, 253);">7</span>] => nyctea [<span class="hljs-number" style="color: rgb(255, 115, 253);">8</span>] => otus [<span class="hljs-number" style="color: rgb(255, 115, 253);">9</span>] => strigidae [<span class="hljs-number" style="color: rgb(255, 115, 253);">10</span>] => strix [<span class="hljs-number" style="color: rgb(255, 115, 253);">11</span>] => surnia [<span class="hljs-number" style="color: rgb(255, 115, 253);">12</span>] => tyto [<span class="hljs-number" style="color: rgb(255, 115, 253);">13</span>] => tytonidae )
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Названия видов сов после сортировки через <u class="stk-reset">asort()</u> (по значению, по алфавиту, по возрастанию):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">Белые совы, Иглоногие совы, Мохноногие сычи, Настоящие совы, Неясыти, Рыбные совы, Сипухи, Сипухи, Совки, Сычи, Сычики, Ушастые совы, Филины, Ястребиные совы</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Названия видов сов после сортировки через <u class="stk-reset">shuffle()</u> (по значению, случайный порядок):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">Сипухи, Рыбные совы, Белые совы, Сычики, Совки, Сипухи, Мохноногие сычи, Ястребиные совы, Ушастые совы, Филины, Неясыти, Настоящие совы, Иглоногие совы, Сычи
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Совы встали на свои места, а мы двигаемся дальше — к сортировке, имитирующей человеческую логику.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Естественная сортировка: страницы во «ВКонтакте»</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Предположим, у нас есть список подписчиков нашей группы в одном из возможных форматов — ссылками с <u class="stk-reset">id</u> вида <u class="stk-reset">vk.com/idXXX</u>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h2>Сортируем ссылки на страницы во «Вконтакте» через natsort()</h2>"</span>;
$pages = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(<span class="hljs-string" style="color: rgb(168, 255, 96);">"vk.com/id30000"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"vk.com/id10000"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"vk.com/id20000"</span>);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Исходный массив ссылок на страницы во «Вконтакте», до сортировки</h3>"</span>;
print_r($pages);
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код исходного массива страниц во «Вконтакте» с выводом результата</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Исходный массив ссылок на страницы во «Вконтакте», до сортировки:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => vk.com/id30000 [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => vk.com/id10000 [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => vk.com/id20000 )
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Было бы удобно расположить записи в порядке возрастания <u class="stk-reset">id</u>, но есть нюанс: элементы массива являются строковыми значениями. Вот что показывает проверка типов:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Проверка типа данных в массиве ссылок на страницы во «Вконтакте»</h3>"</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">foreach</span> ($pages <span class="hljs-keyword" style="color: rgb(150, 203, 254);">as</span> $page) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> gettype($page) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
};
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Вывод результата после проверки типа данных в массиве ссылок на страницы во «Вконтакте»:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-built_in">string</span>
<span class="hljs-built_in">string</span>
<span class="hljs-built_in">string</span></pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Чтобы решить задачу, воспользуемся функцией естественной сортировки <a class="stk-reset" href="https://www.php.net/manual/en/function.natsort.php" target="_blank"><u class="stk-reset">natsort()</u></a>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">natsort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$array</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Объяснение:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">natsort()</u> — название функции, в скобках указывается единственный параметр;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">$array</u> — массив, который нужно отсортировать естественным способом (как это бы сделал человек).</li></ul><p class="stk-reset" data-ce-tag="paragraph">Посмотрим на функцию в деле:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">natsort($pages);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Массив ссылок на страницы во «Вконтакте» после естественной сортировки через natsort() (по значению, по возрастанию)</h3>"</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span>, $pages) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Массив ссылок на страницы во «Вконтакте» после естественной сортировки через <u class="stk-reset">natsort()</u> (по значению, по возрастанию):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">vk.<span class="hljs-keyword" style="color: rgb(150, 203, 254);">com</span>/id10000, vk.<span class="hljs-keyword" style="color: rgb(150, 203, 254);">com</span>/id20000, vk.<span class="hljs-keyword" style="color: rgb(150, 203, 254);">com</span>/id30000
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Теперь страницы отсортированы в удобном для работы формате.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Сортировка многомерного массива: цены на топливо</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Для примера возьмём двумерный массив, состоящий, в свою очередь, из двух массивов: марок автомобильного топлива и цен на него некоторое время назад.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h2>Сортируем цены на бензин и дизельное топливо (в рублях) через array_multisort()</h2>"</span>;
$petrol = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(<span class="hljs-string" style="color: rgb(168, 255, 96);">"52,75"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"61,95"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"54,01"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"47,60"</span>),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(<span class="hljs-string" style="color: rgb(168, 255, 96);">"АИ-95"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"АИ-98"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"ДТ"</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"АИ-92"</span>)
);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Марки топлива и цены на него до сортировки(исходный порядок)</h3>"</span>;
print_r(array_values($petrol));
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description">Код исходного массива цен на топливо с выводом результата</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Марки топлива и цены на него до сортировки (исходный порядок):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">52</span>,<span class="hljs-number" style="color: rgb(255, 115, 253);">75</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">61</span>,<span class="hljs-number" style="color: rgb(255, 115, 253);">95</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">54</span>,<span class="hljs-number" style="color: rgb(255, 115, 253);">01</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>] => <span class="hljs-number" style="color: rgb(255, 115, 253);">47</span>,<span class="hljs-number" style="color: rgb(255, 115, 253);">60</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => АИ<span class="hljs-number" style="color: rgb(255, 115, 253);">-95</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => АИ<span class="hljs-number" style="color: rgb(255, 115, 253);">-98</span> [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => ДТ [<span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>] => АИ<span class="hljs-number" style="color: rgb(255, 115, 253);">-92</span> ) )</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Сейчас здесь есть взаимное соответствие (например, АИ-92 стоит 47,60), но сами значения не отсортированы в каком-либо порядке. Попробуем с помощью функции сортировки <a class="stk-reset" href="https://www.php.net/manual/en/function.array-multisort.php" target="_blank"><u class="stk-reset">array_multisort()</u></a> вывести для пользователя список ценников, отсортированный по возрастанию, где сначала идёт самый дешёвый бензин.</p><p class="stk-reset" data-ce-tag="paragraph">Функция <u class="stk-reset">array_multisort()</u> предназначена как раз для сортировки многомерных массивов. Вот её синтаксис:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">array_multisort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$array1</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$array1_sort_order</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$array1_sort_flags</span>, <span class="hljs-variable" style="color: rgb(198, 197, 254);">$other</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Объяснение:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">array_multisort()</u> — название функции, в скобках указываются параметры;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">$array1</u> — первый массив для сортировки;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">на месте опции <u class="stk-reset">$array1_sort_order</u> можно указать порядок сортировки первого массива (можно не указывать);</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">на месте опции <u class="stk-reset">$array1_sort_flags</u> можно указать другие правила сортировки первого массива (флаги) в дополнение к предыдущей опции;</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">на месте <u class="stk-reset">$other</u> можно вписать ещё один массив <u class="stk-reset">$array2</u> с опциями или без (и так далее).</li></ul><p class="stk-reset" data-ce-tag="paragraph">Применим функцию в деле:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span>(<span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Сортировка марок топлива и цен через array_multisort() (по возрастанию)</h3>"</span>);
array_multisort($petrol[<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>], $petrol[<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>]);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">" -- "</span>, $petrol[<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>]) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> implode(<span class="hljs-string" style="color: rgb(168, 255, 96);">" -- "</span>, $petrol[<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>]) . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Вывод отсортированного массива марок топлива и цен через <u class="stk-reset">array_multisort()</u> (по возрастанию):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">АИ-92 -- АИ-95 -- ДТ -- АИ-98
47,60--52,75--54,01--61,95</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Теперь марки топлива расположены по возрастанию цены, а мы возьмём ещё более интересный пример — сортировку по кастомным правилам.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Пользовательская сортировка: сотрудники компании</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Предположим, у нашей компании есть корпоративный портал, где можно посмотреть информацию о коллегах. Пусть у нас в массиве будет шесть коллег. База содержит Ф. И. О., внутренний ID, должность и возраст, а карточка каждого сотрудника является отдельным массивом многомерного массива:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"> <span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h2>Сортируем сотрудников компании</h2>"</span>;
$employees = <span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Вувузела Андрей Павлович"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Менеджер"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"29"</span>
),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Ахрюнов Алексей Степанович"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Бухгалтер"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"32"</span>
),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Охрюненко Борис Гориславович"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Курьер"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"22"</span>
),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Бокакин Арсений Брониславович"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Менеджер"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"31"</span>
),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Голохрюхин Евгений Владимирович"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Директор"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"40"</span>
),
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">array</span>(
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span> => <span class="hljs-number" style="color: rgb(255, 115, 253);">6</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Совакошка Мария Игоревна"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"Старший инженер"</span>,
<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span> => <span class="hljs-string" style="color: rgb(168, 255, 96);">"26"</span>
)
);
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Код вывода исходного массива карточек сотрудников компании:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-built_in">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Записи сотрудников компании до сортировки(исходный порядок)</h3>"</span>;
<span class="hljs-built_in">print</span>_r(array_values(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$employees</span>));
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Вывод исходного массива карточек сотрудников компании до сортировки (исходный порядок):</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [<span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> [ФИО] => Вувузела Андрей Павлович [Должность] => Менеджер [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">29</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span> [ФИО] => Ахрюнов Алексей Степанович [Должность] => Бухгалтер [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">32</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span> [ФИО] => Охрюненко Борис Гориславович [Должность] => Курьер [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">22</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span> [ФИО] => Бокакин Арсений Брониславович [Должность] => Менеджер [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">31</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span> [ФИО] => Голохрюхин Евгений Владимирович [Должность] => Директор [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">40</span> ) [<span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>] => <span class="hljs-keyword" style="color: rgb(150, 203, 254);">Array</span> ( [ID] => <span class="hljs-number" style="color: rgb(255, 115, 253);">6</span> [ФИО] => Совакошка Мария Игоревна [Должность] => Старший инженер [Возраст] => <span class="hljs-number" style="color: rgb(255, 115, 253);">26</span> ) )
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Дадим пользователю корпоративного портала возможность сортировки списка по фамилиям, возрасту и порядковому номеру. В этом нам поможет функция пользовательской сортировки <a href="https://www.php.net/manual/en/function.usort.php" target="_blank" class="stk-reset">usort()</a>.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">usort(<span class="hljs-variable" style="color: rgb(198, 197, 254);">$array</span>, <span class="hljs-string" style="color: rgb(168, 255, 96);">"function"</span>);</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Объяснение:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">usort()</u> — название функции, в скобках указываются параметры.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">$array</u> — массив для сортировки.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item"><u class="stk-reset">«function»</u> — название вашей функции сравнения с собственными правилами сортировки. Она объявляется заранее и принимает два параметра. Обратите внимание на кавычки, в которые заключается название.</li></ul><p class="stk-reset" data-ce-tag="paragraph">Применим функцию в деле — на сортировке сотрудников по алфавиту, по возрасту (по возрастанию) и по ID (по убыванию).</p><p class="stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">Обратите внимание:</p><ul class="stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-reset stk-list-item" data-ce-tag="list-item">В каждом из трёх примеров ниже мы сначала объявляем пользовательскую функцию сравнения (<u class="stk-reset">alphSort</u>, <u class="stk-reset">ageSort</u> и <u class="stk-reset">idSort</u> соответственно), а потом передаём её встроенной функции <u class="stk-reset">usort()</u> в качестве обработчика массива.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Цикл <u class="stk-reset">foreach</u> помогает по очереди перебирать карточки каждого сотрудника в главном массиве <u class="stk-reset">$employees</u>. Для удобства мы в рамках цикла обзываем их <u class="stk-reset">$employee</u> — то же самое английское слово в единственном числе.</li><li class="stk-reset stk-list-item" data-ce-tag="list-item">Для доступа к нужным ключам вложенных массивов (карточек сотрудников) используется <a class="stk-reset" href="https://www.php.net/manual/en/language.types.array.php" target="_blank">синтаксис</a> с квадратными скобками: <u class="stk-reset">$array[«key»]</u> и так далее.</li></ul><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Сортировка сотрудников по ФИО через usort() и strcmp (по алфавиту)</h3>"</span>;
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">function</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">alphSort</span><span class="hljs-params">($name1, $name2)</span> </span>{
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">return</span> strcmp($name1[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span>], $name2[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span>]);
};
usort($employees, <span class="hljs-string" style="color: rgb(168, 255, 96);">"alphSort"</span>);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">foreach</span> ($employees <span class="hljs-keyword" style="color: rgb(150, 203, 254);">as</span> $employee) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"ID "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<b>ФИО: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">",</b> "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
};
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Функция <u class="stk-reset">alphSort()</u> принимает по два значения ФИО ($name1 и $name2) и сравнивает их как строки с помощью встроенной функции <a class="stk-reset" href="https://www.php.net/manual/en/function.strcmp.php" target="_blank"><u class="stk-reset">strcmp()</u></a>. Она передаётся во встроенную функцию <u class="stk-reset">usort()</u>, где и применяется на нашем массиве.</p><p class="stk-reset" data-ce-tag="paragraph">Вывод отсортированного массива карточек сотрудников компании. Вариант первый — ФИО по алфавиту:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">ID <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">32</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">31</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">29</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">40</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">22</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">6</span>, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">26</span>
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Следующие два примера строятся по похожему принципу. Вот код для сортировки массива карточек сотрудников компании. Вариант второй — по возрасту.</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Сортировка сотрудников по возрасту через usort() (по возрастанию)</h3>"</span>;
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">function</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">ageSort</span><span class="hljs-params">($age1, $age2)</span> </span>{
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">if</span> ($age1[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>] == $age2[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>]) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">return</span> <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>;
}
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">return</span> ($age1[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>] < $age2[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>]) ? <span class="hljs-number" style="color: rgb(255, 115, 253);">-1</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>;
};
usort($employees, <span class="hljs-string" style="color: rgb(168, 255, 96);">"ageSort"</span>);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">foreach</span> ($employees <span class="hljs-keyword" style="color: rgb(150, 203, 254);">as</span> $employee) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"ID "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<b>Возраст: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">"</b><br>"</span>;
};
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Функция <u class="stk-reset">ageSort()</u> должна сравнивать по два значения возраста сотрудников (в данном примере — $age1, $age2), и возвращать результат (отсортированный массив) в зависимости от результата сравнения. Она также передаётся во встроенную функцию <u class="stk-reset">usort()</u>.</p><p class="stk-reset" data-ce-tag="paragraph">Вывод отсортированного массива карточек сотрудников компании. Вариант второй — по возрасту:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">ID <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">22</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">6</span>, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">26</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">29</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">31</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">32</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">40</span>
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Код для сортировки массива карточек сотрудников компании. Вариант третий — по ID:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<h3>Сортировка сотрудников по ID через usort() (по убыванию)</h3>"</span>;
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(150, 203, 254);">function</span> <span class="hljs-title" style="color: rgb(255, 255, 182);">idSort</span><span class="hljs-params">($id1, $id2)</span> </span>{
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">if</span> ($id1[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>] == $id2[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>]) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">return</span> <span class="hljs-number" style="color: rgb(255, 115, 253);">0</span>;
}
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">return</span> ($id1[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>] < $id2[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>]) ? <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span> : <span class="hljs-number" style="color: rgb(255, 115, 253);">-1</span>;
};
usort($employees, <span class="hljs-string" style="color: rgb(168, 255, 96);">"idSort"</span>);
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">foreach</span> ($employees <span class="hljs-keyword" style="color: rgb(150, 203, 254);">as</span> $employee) {
<span class="hljs-keyword" style="color: rgb(150, 203, 254);">echo</span> <span class="hljs-string" style="color: rgb(168, 255, 96);">"<b>ID "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ID"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">",</b> "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"ФИО"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Должность"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">", "</span> . <span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст: "</span> . $employee[<span class="hljs-string" style="color: rgb(168, 255, 96);">"Возраст"</span>] . <span class="hljs-string" style="color: rgb(168, 255, 96);">"<br>"</span>;
};
?>
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Аналогично прошлому примеру, здесь функция <u class="stk-reset">idSort()</u> тоже заточена на сравнение по двум значениям — теперь это ID сотрудников ($id1, $id2) — и возвращает результат (отсортированный массив) в зависимости от результата сравнения.</p><p class="stk-reset" data-ce-tag="paragraph">Вывод отсортированного массива карточек сотрудников компании. Вариант третий — по ID:</p><figure class="stk-reset stk-embed_rendered" data-ce-tag="embed"><code class="stk-code"><pre class="hljs" style="display: block; overflow-x: auto; padding: 0.5em; background: rgb(0, 0, 0); color: rgb(248, 248, 248);">ID<span class="hljs-number" style="color: rgb(255, 115, 253);">6</span>, ФИО: Совакошка Мария Игоревна, Должность: Старший инженер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">26</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">5</span>, ФИО: Голохрюхин Евгений Владимирович, Должность: Директор, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">40</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">4</span>, ФИО: Бокакин Арсений Брониславович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">31</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">3</span>, ФИО: Охрюненко Борис Гориславович, Должность: Курьер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">22</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">2</span>, ФИО: Ахрюнов Алексей Степанович, Должность: Бухгалтер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">32</span>
ID <span class="hljs-number" style="color: rgb(255, 115, 253);">1</span>, ФИО: Вувузела Андрей Павлович, Должность: Менеджер, Возраст: <span class="hljs-number" style="color: rgb(255, 115, 253);">29</span>
</pre></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-reset stk-theme_26309__style_large_header" data-ce-tag="paragraph"><strong class="stk-reset">Итоги</strong></h2><p class="stk-reset" data-ce-tag="paragraph">Мы рассмотрели основные виды сортировок массивов в PHP: числовую, алфавитную, естественную, многомерную и пользовательскую. Для всего этого мы нашли подходящие функции.</p><p class="stk-reset" data-ce-tag="paragraph">Для более детального знакомства с функциями сортировки массивов в PHP рекомендуем пользоваться таблицами-напоминалками: в разных руководствах они сделаны по-разному, поэтому лучше найти ту табличку, которая будет удобна именно вам. А для синтаксически правильного применения советуем пользоваться <a class="stk-reset" href="https://www.php.net/manual/ru/array.sorting.php" target="_blank">официальной документацией</a> языка, тем более она переведена на русский.</p><div class="stk-grid" data-ce-tag="grid" data-stk-css="stkSbl-P"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col" data-stk-css="" data-stk-css-m=""><p class="stk-reset stk-theme_26309__style_small_text stk-theme_26309__mb_05" data-ce-tag="paragraph"><strong class="stk-reset">Читайте также:</strong></p><ul class="stk-theme_26309__style_small_text stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/ukhod-nikity-popova-i-sozdanie-php-foundation-chto-stanet-s-php/" target="_blank" class="stk-reset">Уход Никиты Попова и создание PHP Foundation: что станет с PHP?</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/antivirus-babushkina-kukuau-i-drugie-chudesa-rossiyskogo-cheburneta/" target="_blank" class="stk-reset">Антивирус Бабушкина, «Куку-AU» и другие чудеса российского чебурнета</a></li><li class="stk-theme_26309__style_small_text stk-reset stk-list-item" data-ce-tag="list-item"><a href="https://skillbox.ru/media/code/kak-ustroena-ekosistema-yazyka-php/" target="_blank" class="stk-reset">PHP for dummies: как устроена экосистема языка и почему его стоит изучать в 2021 году</a></li></ul></div></div></div></div><style data-stk-css="stkSbl-P" media="all" class="">
[data-stk-css="stkSbl-P"]:not(#stk):not(#stk):not(style) {
padding: 20px;
background-color: rgba(254, 245, 224, 1)
}
</style></div> </div>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-preview-info">
</div>
</div>
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div>
</noindex>
</div>
<section class="container inset" data-banner="209405" data-source="212239" data-format="horizontal">
<div class="row">
<div class="col-lg-8 col-sm-12">
<a
target="_blank" href="https://skillbox.ru/course/profession-php-developer/"
class="article-advert-banner__link courseLink"
data-banner="209405"
data-source="212239"
data-format="horizontal"
data-type="horizontal"
>
<div class="inset__wrapper" style="background-color: #FFF4BB;">
<div class="inset__content">
<h2 class="inset__header">Курс</h2>
<p class="inset__description">
Профессия PHP-разработчик с нуля до PRO </p>
<p class="inset__text">
Вы получите полноценную профессию всего за год, смените сферу деятельности и начнете зарабатывать уже во время обучения. </p>
<p class="inset__button article-advert-banner__link"> Узнать про курс</p>
</div>
<div class="inset__image">
<img src="https://cdn.skillbox.pro/landgen/blocks/start-screen/153020/lg/c127b9c4-ab5e-4404-a413-ff77244784d3.webp" width="145" height="145" alt="">
</div>
</div>
</a>
</div>
</div>
</section>
</section>
<div class="article-banner" data-banner="219298" data-source="212239" data-format="vertical" data-type="vertical">
<div class="row">
<div class="col-sm-4 col-sm-12">
<div class="inset__wrapper" style="background-color:#f2eeff;">
<div class="inset__content" >
<div class="inset__image" style="text-align: top;">
<img src="https://skillbox.ru/upload/setka_images/math-side.png" width="150" height="150" alt="">
</div>
<p class="inset__description" style="color:#000!important; padding-bottom:13px;">
Изучайте IT на практике — бесплатно</p>
<p class="inset__text" style="color:#000!important">
Курсы за <del>2990</del> 0 р. </p>
<ul class="inset__content" style="color:#007bff!important; list-style:'\2713 ' outside; margin-left:13px;">
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a data-source="212239" data-banner="219298" href="https://bootcamp.skillbox.ru/python-short/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-617_all_code_skillbox" target="_blank">Python</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/qa-start/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-655_all_code_skillbox" target="_blank">Тестирование</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/data-science/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-675_all_code_skillbox" target="_blank">Data Science</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/java/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-682_all_code_skillbox" target="_blank">Java</a>
</li>
<li style="list-style:'\2713 '; padding-left:2px; margin-bottom:6px">
<a href="https://bootcamp.skillbox.ru/sql/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-695_all_code_skillbox" target="_blank">SQL и работа с данными</a>
</li>
</ul>
<a href="https://bootcamp.skillbox.ru/it-jobs/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-759_all_code_skillbox" class="inset__button article-advert-banner__link" target="_blank" style="color:#000; background-color:#ffafff">Я не знаю, с чего начать</a>
</div>
</div>
</div>
</div> </div>
<a
target="_blank" href="https://skillbox.ru/course/profession-php-developer/"
class="article-banner article-advert-banner__link"
style="background-color: #FFF4BB;"
data-banner="209405"
data-source="212239"
data-format="top"
data-type="top"
>
<div class="article-banner__img">
<img src="https://cdn.skillbox.pro/landgen/blocks/start-screen/153020/lg/c127b9c4-ab5e-4404-a413-ff77244784d3.webp" alt="">
</div>
<span class="article-banner__title">Научитесь: <u>Профессия PHP-разработчик с нуля до PRO</u></span>
<span class="article-banner__link">Узнать больше</span>
</a>
<section class="container news">
<div class="row">
<div class="col-lg-8 col-sm-12">
<h2 class="news__header">Новости</h2>
<div class="row">
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/google-predstavil-gemini-31-pro-s-uluchshennymi-rassuzhdeniyami/" class="news__text">
Google представил Gemini 3.1 Pro с улучшенными рассуждениями </a>
<span class="news__date">20 фев 2026</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/xai-dobavila-v-grok-multiagentnuyu-sistemu-s-chetyrmya-pomoschnikami/" class="news__text">
xAI добавила в Grok мультиагентную систему с четырьмя помощниками </a>
<span class="news__date">18 фев 2026</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/code/openai-predstavila-gpt-53-codex-spark-prodvinutuyu-model-dlya-programmistov/" class="news__text">
OpenAI представила GPT-5.3-Codex-Spark — продвинутую модель для программистов </a>
<span class="news__date">13 фев 2026</span>
</div>
</div>
</div>
</div>
</section>
<div class="slider-news-wrap media-catalog-content media-catalog-content--interesting">
<div class="container">
<div class="slider-news slider-news--article-slider js-slider-news">
<div class="slider-news__header">
<div class="slider-news__title" style="font-family: 'Graphik'; font-weight: 500;">
<span class="slider-news__title-notmob">Это интересно</span>
<span class="slider-news__title-mob">Это интересно</span>
</div>
<div class="slider-news__nav-wrapper">
<div class="slider-news__nav-button button-prev swiper-button-disabled" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="true">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
<div class="slider-news__nav-button button-next" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
</div>
</div>
<div class="slider-news__carousel grad-end">
<div class="slider-news__container swiper-container swiper-container-initialized swiper-container-horizontal">
<div class="swiper-wrapper">
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/f1f/f1f05b73644b83a05ad3685325a98308/1668de27023f167b5952dda8f6448bab.jpg">
</picture> </div>
<a href="/media/code/chto-takoe-big-data/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Big data: что такое большие данные и как с ними работать </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/ea6/ea6a8323236c2561837dabaf3aaf6301/b1321ab07a64d09d9eba7a802ff1a19d.jpg">
</picture> </div>
<a href="/media/code/google-v-fevrale-2026-goda-vekovye-obligacii-privatnost-v-poiske-i-webmcp-dlya-agentov/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Google в феврале 2026 года: вековые облигации, приватность в поиске и WebMCP для агентов </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/83f/83f5fbe33b9cb70f84fd1bade3ba0200/5fec158e3ca8709d41cf5f5a4a0b8430.png">
</picture> </div>
<a href="/media/code/razrabotchiki-skupayut-mac-mini-na-it-rynke-peregrev-a-iz-tyurmy-vyshel-izvestnyy-kriptohaker/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Разработчики скупают Mac mini, на IT-рынке перегрев, а из тюрьмы вышел известный хакер </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/080/080d477242b414a3d2964960de55dcda/3fa556922b64473697f8960ca2f25218.png">
</picture> </div>
<a href="/media/code/story-yana-orlovceva/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
От пользователя до программиста 1С: история Яны Орловцевой </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/010/010725bb6a24b5d14ec80639eeb09031/ad6eb5f9c899b436ac21af1e7099be54.png">
</picture> </div>
<a href="/media/code/eslint-i-prettier/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Гайд по ESLint и Prettier: от установки до автоматизации в VS Code </a>
</div>
</div>
</div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</div>
</div>
</div>
</div>
</div>
<div class="question">
<div class="container">
<div class="question__inner">
<div class="question__title">Понравилась статья?</div>
<a href="#" data-cur-url="/media/code/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami/"
class="question__btn js-modalLink" data-mfp-src="#modalAuth">Да</a>
</div>
</div>
</div>
</div>
<span
data-area="article-bottom"
data-current-url="/media/code/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami/"
data-id="212239">
</span>
</div>
<script type="application/ld+json">
{"@context":"http:\/\/schema.org","@type":"Article","url":"https:\/\/skillbox.ru\/media\/code\/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami\/","headline":"\u041a\u0430\u043a \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u00a0PHP 13\u00a0\u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0441\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438","articleSection":"\u041a\u043e\u0434","articleBody":"\u0412 PHP \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \r\n\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u043a\u043b\u044e\u0447 => \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0418 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438 \u0442\u0443\u0442 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442: \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 13 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0432\u0438\u0434\u0435.\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438\r\n\r\n\u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 PHP \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \r\n\u00ab\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u0443\u044e\u0442\u0441\u044f\u00bb \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432:\r\n\r\n- \u0432\u0438\u0434 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u2014 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 \u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c;\r\n- \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u2014 \u0432\u043e\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439, \u043d\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0439, \r\n\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435;\r\n- \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u2014 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \r\n\u0441\u0432\u044f\u0437\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442;\r\n- \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0449\u0438\u0445 \u043e\u043f\u0446\u0438\u0439 \u2014 \u0432 \u0441\u0435\u043c\u0438 \r\n\u0438\u0437 \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (\u00ab\u0444\u043b\u0430\u0433\u0438\u00bb).\r\n\r\n\u0412\u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:\r\n \r\n\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 PHP\r\n\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435: \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041a\u043e\u043b\u0435\u0441\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f Skillbox \r\nMedia\r\n\r\n\u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0435\u0441\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \r\n\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043d\u0430 \u0432\u0438\u0434 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043a\u0440\u0443\u0433\u043b\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438. \u042d\u0442\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043b\u0443\u0447\u0448\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0441\u0432\u0435\u0440\u044f\u044f\u0441\u044c \u0441 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u043e\u0439 \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0431\u0443\u043a\u0432\u043e\u0439 \u00abk\u00bb \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c.\r\n\r\n\u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \r\n\u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043a\u043e\u0431\u043e\u043a \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438, \u0430 \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0433\u0443\u0442 \u0438\u0434\u0442\u0438 \u043e\u043f\u0446\u0438\u0438 (\u0444\u043b\u0430\u0433\u0438):\r\n\r\n- SORT_REGULAR \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c \r\n\u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u0435 \u043c\u0435\u043d\u044f\u044f \u0442\u0438\u043f\u043e\u0432;\r\n- SORT_NUMERIC \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u0430;\r\n- SORT_STRING \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u0438;\r\n- SORT_LOCALE_STRING \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a \r\n\u0441\u0442\u0440\u043e\u043a\u0438, \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443\u044f\u0441\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u044e (Locale );\r\n- SORT_NATURAL \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u0438 \r\n\u0432 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435;\r\n- SORT_FLAG_CASE \u2014 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0441 SORT_STRING \r\n\u0438\u043b\u0438 SORT_NATURAL, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443.\r\n\r\n\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \r\n\u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 Notepad++ \u0438 \u0441\u0440\u0435\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 XAMPP \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 PHP-\u043a\u043e\u0434\u0430 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.\r\n\r\n\u0412\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0431\u0443\u0434\u0435\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \r\n\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u0435\u0433\u043e \u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 (\u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u0435\u043d\u044f\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432, \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0451 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f). \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 echo \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 implode() \/print_r() \u0438\u043b\u0438 \u0446\u0438\u043a\u043b\u043e\u043c foreach .\r\n\r\n\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u043a\u0440\u0430\u0441\u043e\u0442\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \r\n\u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 (HTML-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 <h2> \u0438 <h3> ) \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u043c \u0441\u0442\u0440\u043e\u043a (HTML-\u044d\u043b\u0435\u043c\u0435\u043d\u0442 <br> ).\r\n\r\n<?php echo \"<h1>\u0421\u041e\u0420\u0422\u0418\u0420\u041e\u0412\u041a\u0410 \u041c\u0410\u0421\u0421\u0418\u0412\u041e\u0412<\/h1>\";\u041d\u0430\u0447\u0430\u043b\u043e \r\n\u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430\r\n\r\n\u0427\u0438\u0441\u043b\u043e\u0432\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430: \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u044b\r\n\r\n\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0447\u0438\u0441\u0435\u043b \u0438 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \r\n\u0435\u0433\u043e \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044f, \u043e\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a \u043c\u0435\u043d\u044c\u0448\u0435\u043c\u0443. \u0412\u043e\u0437\u044c\u043c\u0451\u043c \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440: \u043c\u0430\u0441\u0441\u0438\u0432 \u0437\u0430\u0440\u043f\u043b\u0430\u0442 \u0432 \u0440\u0443\u0431\u043b\u044f\u0445:\r\n\r\n$salaries = array(45000, 65000, 35000, 75000, 55000);\r\n\r\n\u0422\u0430\u043a \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.\r\n\r\necho \"<h2>\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c<\/h2>\"; \r\n$salaries = array(45000, 65000, 35000, 75000, 55000); echo \"<h3>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/h3>\"; print_r($salaries); echo \"<h3>\u041c\u0430\u0441\u0441\u0438\u0432 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u2013- \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)<\/h3>\"; echo implode(\", \", $salaries) . \"<br>\"; \u041a\u043e\u0434 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442 \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\r\n\r\n\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c \r\n\u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438:\r\n\r\nArray ( [0] => 45000 [1] => 65000 [2] => 35000 [3] => 75000 \r\n[4] => 55000 ) \r\n\r\n\u041c\u0430\u0441\u0441\u0438\u0432 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u2014 \r\n\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a):\r\n\r\n45000, 65000, 35000, 75000, 55000\r\n\r\n\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \r\n\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0430 \u043d\u0430\u043c \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438. \u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430\u0434\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044f \u2014 \u043d\u0430\u043c \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 rsort() .\r\n\r\nrsort($array, FLAGS);\r\n\r\n\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:\r\n\r\n- rsort() \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \r\n\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b;\r\n- $array \u2014 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438;\r\n- \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 \u043e\u043f\u0446\u0438\u0438 FLAGS \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \r\n\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u0444\u043b\u0430\u0433\u0438).\r\n\r\n\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u0448\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0434\u0435\u043b\u0435. \r\n\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0448\u0430\u0433\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0432 \u043d\u0435\u0451 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c\u0438 \u2014 $salaries.\r\n\r\nrsort($salaries);\r\n\r\n\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u044b\u0432\u043e\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430:\r\n\r\necho \"<h3>\u041c\u0430\u0441\u0441\u0438\u0432 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043f\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c \u043f\u043e\u0441\u043b\u0435 \r\n\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 rsort() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e)<\/h3>\"; echo implode(\", \", $salaries) . \"<br>\";\u041a\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\r\n\r\n\u0412\u043e\u0442 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435:\r\n\r\n75000, 65000, 55000, 45000, 35000\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u044c\u043c\u0451\u043c\u0441\u044f \u0437\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \r\n\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.\r\n\r\n\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430: \u0432\u0438\u0434\u044b \u043f\u0442\u0438\u0446\r\n\r\n\u041f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \r\n\u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u0438, \u0432 \u043c\u0438\u0440\u0435 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445\u0441\u043e\u0442 \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432. \u0411\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e \u043d\u0438\u0445 \u0441\u0430\u0439\u0442, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0433 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0441\u043e\u0432\u0430\u0445 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435! \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u00ab\u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441\u043e\u0432\u00bb, \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443\u044f\u0441\u044c \u043a\u043d\u0438\u0433\u043e\u0439 \u042e. \u0411. \u041f\u0443\u043a\u0438\u043d\u0441\u043a\u043e\u0433\u043e \u00ab\u0416\u0438\u0437\u043d\u044c \u0441\u043e\u0432\u00bb.\r\n\r\necho \"<h2>\u0421\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0432<\/h2>\"; $owls = array( \"tytonidae\" \r\n=> \"\u0421\u0438\u043f\u0443\u0445\u0438\", \"tyto\" => \"\u0421\u0438\u043f\u0443\u0445\u0438\", \"strigidae\" => \"\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0432\u044b\", \"otus\" => \"\u0421\u043e\u0432\u043a\u0438\", \"bubo\" => \"\u0424\u0438\u043b\u0438\u043d\u044b\", \"ketupa\" => \"\u0420\u044b\u0431\u043d\u044b\u0435 \u0441\u043e\u0432\u044b\", \"nyctea\" => \"\u0411\u0435\u043b\u044b\u0435 \u0441\u043e\u0432\u044b\", \"surnia\" => \"\u042f\u0441\u0442\u0440\u0435\u0431\u0438\u043d\u044b\u0435 \u0441\u043e\u0432\u044b\", \"glaucidium\" => \"\u0421\u044b\u0447\u0438\u043a\u0438\", \"ninox\" => \"\u0418\u0433\u043b\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0432\u044b\", \"athene\" => \"\u0421\u044b\u0447\u0438\", \"strix\" => \"\u041d\u0435\u044f\u0441\u044b\u0442\u0438\", \"asfo\" => \"\u0423\u0448\u0430\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u044b\", \"aegolius\" => \"\u041c\u043e\u0445\u043d\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u044b\u0447\u0438\" ); \u041a\u043e\u0434 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432\r\n\r\necho \"<h3>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0432\u0438\u0434\u043e\u0432 \r\n\u0441\u043e\u0432 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/h3>\"; print_r($owls); echo \"<h3>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 -- \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)<\/h3>\"; echo implode(\", \", $owls) . \"<br>\"; \u041a\u043e\u0434 \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432\r\n\r\n\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \r\n\u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438:\r\n\r\nArray ( [tytonidae] => \u0421\u0438\u043f\u0443\u0445\u0438 [tyto] => \u0421\u0438\u043f\u0443\u0445\u0438 [strigidae] \r\n=> \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0432\u044b [otus] => \u0421\u043e\u0432\u043a\u0438 [bubo] => \u0424\u0438\u043b\u0438\u043d\u044b [ketupa] => \u0420\u044b\u0431\u043d\u044b\u0435 \u0441\u043e\u0432\u044b [nyctea] => \u0411\u0435\u043b\u044b\u0435 \u0441\u043e\u0432\u044b [surnia] => \u042f\u0441\u0442\u0440\u0435\u0431\u0438\u043d\u044b\u0435 \u0441\u043e\u0432\u044b [glaucidium] => \u0421\u044b\u0447\u0438\u043a\u0438 [ninox] => \u0418\u0433\u043b\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0432\u044b [athene] => \u0421\u044b\u0447\u0438 [strix] => \u041d\u0435\u044f\u0441\u044b\u0442\u0438 [asfo] => \u0423\u0448\u0430\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u044b [aegolius] => \u041c\u043e\u0445\u043d\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u044b\u0447\u0438 ) \r\n\r\n\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u2014 \r\n\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a):\r\n\r\n\u0421\u0438\u043f\u0443\u0445\u0438, \u0421\u0438\u043f\u0443\u0445\u0438, \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0432\u044b, \u0421\u043e\u0432\u043a\u0438, \u0424\u0438\u043b\u0438\u043d\u044b, \r\n\u0420\u044b\u0431\u043d\u044b\u0435 \u0441\u043e\u0432\u044b, \u0411\u0435\u043b\u044b\u0435 \u0441\u043e\u0432\u044b, \u042f\u0441\u0442\u0440\u0435\u0431\u0438\u043d\u044b\u0435 \u0441\u043e\u0432\u044b, \u0421\u044b\u0447\u0438\u043a\u0438, \u0418\u0433\u043b\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0432\u044b, \u0421\u044b\u0447\u0438, \u041d\u0435\u044f\u0441\u044b\u0442\u0438, \u0423\u0448\u0430\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u044b, \u041c\u043e\u0445\u043d\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u044b\u0447\u0438\r\n\r\n\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 \u0440\u043e\u043b\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \r\n\u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0443 \u043d\u0430\u0441 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f.\r\n\r\n\u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \r\n\u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u043e\u0435, \u0442\u0430\u043a \u0438 \u0440\u0443\u0441\u0441\u043a\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435. \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0441\u043e\u0432\u0435, \u0430 \u0435\u0449\u0451 \u2014 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.\r\n\r\n\u041e\u0442\u0441\u044e\u0434\u0430 \u0432\u044b\u0442\u0435\u043a\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \r\n\u0441\u0440\u0430\u0437\u0443 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438:\r\n\r\n- ksort() \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \r\n\u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c (\u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c) \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443;\r\n- asort() \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \r\n\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c (\u0440\u0443\u0441\u0441\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c), \u0442\u0430\u043a\u0436\u0435 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443;\r\n- shuffle() \u0434\u043b\u044f \r\n\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0440\u0443\u0441\u0441\u043a\u0438\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0441\u043e\u0432.\r\n\r\n\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 ksort() \u0438 asort() \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \r\n\u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0443 rsort(), \u0430 \u0441 shuffle() \u0432\u0441\u0451 \u0435\u0449\u0451 \u043f\u0440\u043e\u0449\u0435 \u2014 \u043e\u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.\r\n\r\n\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0434\u0435\u043b\u0435:\r\n\r\nksort($owls); echo\"<h3>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \r\n\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 ksort() (\u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e)<\/h3>\"; print_r(array_keys($owls)); asort($owls); echo \"<h3>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 asort() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e)<\/h3>\"; echo implode(\", \", $owls) . \"<br>\"; shuffle($owls); echo \"<h3>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 shuffle() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)<\/h3>\"; echo implode(\", \", $owls) . \"<br>\"; \u041a\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432\r\n\r\n\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \r\nksort() (\u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e):\r\n\r\nArray ( [0] => aegolius [1] => asfo [2] => athene [3] => bubo \r\n[4] => glaucidium [5] => ketupa [6] => ninox [7] => nyctea [8] => otus [9] => strigidae [10] => strix [11] => surnia [12] => tyto [13] => tytonidae ) \r\n\r\n\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \r\nasort() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e):\r\n\r\n\u0411\u0435\u043b\u044b\u0435 \u0441\u043e\u0432\u044b, \u0418\u0433\u043b\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0432\u044b, \u041c\u043e\u0445\u043d\u043e\u043d\u043e\u0433\u0438\u0435 \r\n\u0441\u044b\u0447\u0438, \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0432\u044b, \u041d\u0435\u044f\u0441\u044b\u0442\u0438, \u0420\u044b\u0431\u043d\u044b\u0435 \u0441\u043e\u0432\u044b, \u0421\u0438\u043f\u0443\u0445\u0438, \u0421\u0438\u043f\u0443\u0445\u0438, \u0421\u043e\u0432\u043a\u0438, \u0421\u044b\u0447\u0438, \u0421\u044b\u0447\u0438\u043a\u0438, \u0423\u0448\u0430\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u044b, \u0424\u0438\u043b\u0438\u043d\u044b, \u042f\u0441\u0442\u0440\u0435\u0431\u0438\u043d\u044b\u0435 \u0441\u043e\u0432\u044b\r\n\r\n\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043e\u0432 \u0441\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \r\nshuffle() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a):\r\n\r\n\u0421\u0438\u043f\u0443\u0445\u0438, \u0420\u044b\u0431\u043d\u044b\u0435 \u0441\u043e\u0432\u044b, \u0411\u0435\u043b\u044b\u0435 \u0441\u043e\u0432\u044b, \u0421\u044b\u0447\u0438\u043a\u0438, \r\n\u0421\u043e\u0432\u043a\u0438, \u0421\u0438\u043f\u0443\u0445\u0438, \u041c\u043e\u0445\u043d\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u044b\u0447\u0438, \u042f\u0441\u0442\u0440\u0435\u0431\u0438\u043d\u044b\u0435 \u0441\u043e\u0432\u044b, \u0423\u0448\u0430\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u044b, \u0424\u0438\u043b\u0438\u043d\u044b, \u041d\u0435\u044f\u0441\u044b\u0442\u0438, \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043e\u0432\u044b, \u0418\u0433\u043b\u043e\u043d\u043e\u0433\u0438\u0435 \u0441\u043e\u0432\u044b, \u0421\u044b\u0447\u0438 \r\n\r\n\u0421\u043e\u0432\u044b \u0432\u0441\u0442\u0430\u043b\u0438 \u043d\u0430 \u0441\u0432\u043e\u0438 \u043c\u0435\u0441\u0442\u0430, \u0430 \u043c\u044b \u0434\u0432\u0438\u0433\u0430\u0435\u043c\u0441\u044f \r\n\u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043a \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435, \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443.\r\n\r\n\u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb\r\n\r\n\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432 \r\n\u043d\u0430\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u2014 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u0441 id \u0432\u0438\u0434\u0430 vk.com\/idXXX.\r\n\r\necho \"<h2>\u0421\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \r\n\u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb \u0447\u0435\u0440\u0435\u0437 natsort()<\/h2>\"; $pages = array(\"vk.com\/id30000\", \"vk.com\/id10000\", \"vk.com\/id20000\"); echo \"<h3>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb, \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/h3>\"; print_r($pages); \u041a\u043e\u0434 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\r\n\r\n\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb, \r\n\u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438:\r\n\r\nArray ( [0] => vk.com\/id30000 [1] => vk.com\/id10000 [2] => vk.com\/id20000 \r\n) \r\n\r\n\u0411\u044b\u043b\u043e \u0431\u044b \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \r\n\u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044f id, \u043d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441: \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u0412\u043e\u0442 \u0447\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0438\u043f\u043e\u0432:\r\n\r\necho \"<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \r\n\u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb<\/h3>\"; foreach ($pages as $page) { echo gettype($page) . \"<br>\"; }; \r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \r\n\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb:\r\n\r\nstring string string\r\n\r\n\u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \r\n\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 natsort() .\r\n\r\nnatsort($array);\r\n\r\n\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:\r\n\r\n- natsort() \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \r\n\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440;\r\n- $array \u2014 \u043c\u0430\u0441\u0441\u0438\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \r\n\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c (\u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u043b \u0447\u0435\u043b\u043e\u0432\u0435\u043a).\r\n\r\n\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0434\u0435\u043b\u0435:\r\n\r\nnatsort($pages); echo \"<h3>\u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \r\n\u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb \u043f\u043e\u0441\u043b\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 natsort() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e)<\/h3>\"; echo implode(\", \", $pages) . \"<br>\"; \r\n\r\n\u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043e \u00ab\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb \r\n\u043f\u043e\u0441\u043b\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 natsort() (\u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e):\r\n\r\nvk.com\/id10000, vk.com\/id20000, vk.com\/id30000 \r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \r\n\u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u0435.\r\n\r\n\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u0446\u0435\u043d\u044b \r\n\u043d\u0430 \u0442\u043e\u043f\u043b\u0438\u0432\u043e\r\n\r\n\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439, \r\n\u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0438\u0437 \u0434\u0432\u0443\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432: \u043c\u0430\u0440\u043e\u043a \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \u0438 \u0446\u0435\u043d \u043d\u0430 \u043d\u0435\u0433\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434.\r\n\r\necho \"<h2>\u0421\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0446\u0435\u043d\u044b \u043d\u0430 \u0431\u0435\u043d\u0437\u0438\u043d \u0438 \u0434\u0438\u0437\u0435\u043b\u044c\u043d\u043e\u0435 \r\n\u0442\u043e\u043f\u043b\u0438\u0432\u043e (\u0432 \u0440\u0443\u0431\u043b\u044f\u0445) \u0447\u0435\u0440\u0435\u0437 array_multisort()<\/h2>\"; $petrol = array( array(\"52,75\", \"61,95\", \"54,01\", \"47,60\"), array(\"\u0410\u0418-95\", \"\u0410\u0418-98\", \"\u0414\u0422\", \"\u0410\u0418-92\") ); echo \"<h3>\u041c\u0430\u0440\u043a\u0438 \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \u0438 \u0446\u0435\u043d\u044b \u043d\u0430 \u043d\u0435\u0433\u043e \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438(\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)<\/h3>\"; print_r(array_values($petrol)); \u041a\u043e\u0434 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0446\u0435\u043d \u043d\u0430 \u0442\u043e\u043f\u043b\u0438\u0432\u043e \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\r\n\r\n\u041c\u0430\u0440\u043a\u0438 \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \u0438 \u0446\u0435\u043d\u044b \u043d\u0430 \u043d\u0435\u0433\u043e \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \r\n(\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a):\r\n\r\nArray ( [0] => Array ( [0] => 52,75 [1] => 61,95 [2] => 54,01 \r\n[3] => 47,60 ) [1] => Array ( [0] => \u0410\u0418-95 [1] => \u0410\u0418-98 [2] => \u0414\u0422 [3] => \u0410\u0418-92 ) )\r\n\r\n\u0421\u0435\u0439\u0447\u0430\u0441 \u0437\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043d\u043e\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \r\n(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0410\u0418-92 \u0441\u0442\u043e\u0438\u0442 47,60), \u043d\u043e \u0441\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043a\u0430\u043a\u043e\u043c-\u043b\u0438\u0431\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 array_multisort() \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0446\u0435\u043d\u043d\u0438\u043a\u043e\u0432, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e, \u0433\u0434\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0451\u0442 \u0441\u0430\u043c\u044b\u0439 \u0434\u0435\u0448\u0451\u0432\u044b\u0439 \u0431\u0435\u043d\u0437\u0438\u043d.\r\n\r\n\u0424\u0443\u043d\u043a\u0446\u0438\u044f array_multisort() \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \r\n\u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0412\u043e\u0442 \u0435\u0451 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441:\r\n\r\narray_multisort($array1, $array1_sort_order, $array1_sort_flags, $other);\r\n\r\n\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:\r\n\r\n- array_multisort() \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \r\n\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b;\r\n- $array1 \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438;\r\n- \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 \u043e\u043f\u0446\u0438\u0438 $array1_sort_order \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \r\n\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c);\r\n- \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 \u043e\u043f\u0446\u0438\u0438 $array1_sort_flags \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \r\n\u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u0444\u043b\u0430\u0433\u0438) \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043e\u043f\u0446\u0438\u0438;\r\n- \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 $other \u043c\u043e\u0436\u043d\u043e \u0432\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \r\n\u043c\u0430\u0441\u0441\u0438\u0432 $array2 \u0441 \u043e\u043f\u0446\u0438\u044f\u043c\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 (\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435).\r\n\r\n\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0434\u0435\u043b\u0435:\r\n\r\necho(\"<h3>\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u0430\u0440\u043e\u043a \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \u0438 \u0446\u0435\u043d \r\n\u0447\u0435\u0440\u0435\u0437 array_multisort() (\u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e)<\/h3>\"); array_multisort($petrol[0], $petrol[1]); echo implode(\" -- \", $petrol[1]) . \"<br>\"; echo implode(\" -- \", $petrol[0]) . \"<br>\"; \r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043c\u0430\u0440\u043e\u043a \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \r\n\u0438 \u0446\u0435\u043d \u0447\u0435\u0440\u0435\u0437 array_multisort() (\u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e):\r\n\r\n\u0410\u0418-92 -- \u0410\u0418-95 -- \u0414\u0422 -- \u0410\u0418-98 47,60--52,75--54,01--61,95\r\n\r\n\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u0430\u0440\u043a\u0438 \u0442\u043e\u043f\u043b\u0438\u0432\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e \r\n\u0446\u0435\u043d\u044b, \u0430 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0435\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u043e \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c.\r\n\r\n\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430: \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \r\n\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438\r\n\r\n\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0443 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0435\u0441\u0442\u044c \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \r\n\u043f\u043e\u0440\u0442\u0430\u043b, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u0445. \u041f\u0443\u0441\u0442\u044c \u0443 \u043d\u0430\u0441 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0431\u0443\u0434\u0435\u0442 \u0448\u0435\u0441\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u0433. \u0411\u0430\u0437\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0424. \u0418. \u041e., \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 ID, \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442, \u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430:\r\n\r\necho \"<h2>\u0421\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438<\/h2>\"; \r\n$employees = array( array( \"ID\" => 1, \"\u0424\u0418\u041e\" => \"\u0412\u0443\u0432\u0443\u0437\u0435\u043b\u0430 \u0410\u043d\u0434\u0440\u0435\u0439 \u041f\u0430\u0432\u043b\u043e\u0432\u0438\u0447\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"29\" ), array( \"ID\" => 2, \"\u0424\u0418\u041e\" => \"\u0410\u0445\u0440\u044e\u043d\u043e\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0442\u0435\u043f\u0430\u043d\u043e\u0432\u0438\u0447\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"32\" ), array( \"ID\" => 3, \"\u0424\u0418\u041e\" => \"\u041e\u0445\u0440\u044e\u043d\u0435\u043d\u043a\u043e \u0411\u043e\u0440\u0438\u0441 \u0413\u043e\u0440\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u041a\u0443\u0440\u044c\u0435\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"22\" ), array( \"ID\" => 4, \"\u0424\u0418\u041e\" => \"\u0411\u043e\u043a\u0430\u043a\u0438\u043d \u0410\u0440\u0441\u0435\u043d\u0438\u0439 \u0411\u0440\u043e\u043d\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"31\" ), array( \"ID\" => 5, \"\u0424\u0418\u041e\" => \"\u0413\u043e\u043b\u043e\u0445\u0440\u044e\u0445\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"40\" ), array( \"ID\" => 6, \"\u0424\u0418\u041e\" => \"\u0421\u043e\u0432\u0430\u043a\u043e\u0448\u043a\u0430 \u041c\u0430\u0440\u0438\u044f \u0418\u0433\u043e\u0440\u0435\u0432\u043d\u0430\", \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\" => \"\u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\", \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\" => \"26\" ) ); \r\n\r\n\u041a\u043e\u0434 \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \r\n\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438:\r\n\r\necho \"<h3>\u0417\u0430\u043f\u0438\u0441\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0434\u043e \r\n\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438(\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a)<\/h3>\"; print_r(array_values($employees)); \r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \r\n\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0434\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 (\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a):\r\n\r\nArray ( [0] => Array ( [ID] => 1 [\u0424\u0418\u041e] => \u0412\u0443\u0432\u0443\u0437\u0435\u043b\u0430 \r\n\u0410\u043d\u0434\u0440\u0435\u0439 \u041f\u0430\u0432\u043b\u043e\u0432\u0438\u0447 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 29 ) [1] => Array ( [ID] => 2 [\u0424\u0418\u041e] => \u0410\u0445\u0440\u044e\u043d\u043e\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0442\u0435\u043f\u0430\u043d\u043e\u0432\u0438\u0447 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 32 ) [2] => Array ( [ID] => 3 [\u0424\u0418\u041e] => \u041e\u0445\u0440\u044e\u043d\u0435\u043d\u043a\u043e \u0411\u043e\u0440\u0438\u0441 \u0413\u043e\u0440\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u041a\u0443\u0440\u044c\u0435\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 22 ) [3] => Array ( [ID] => 4 [\u0424\u0418\u041e] => \u0411\u043e\u043a\u0430\u043a\u0438\u043d \u0410\u0440\u0441\u0435\u043d\u0438\u0439 \u0411\u0440\u043e\u043d\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 31 ) [4] => Array ( [ID] => 5 [\u0424\u0418\u041e] => \u0413\u043e\u043b\u043e\u0445\u0440\u044e\u0445\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 40 ) [5] => Array ( [ID] => 6 [\u0424\u0418\u041e] => \u0421\u043e\u0432\u0430\u043a\u043e\u0448\u043a\u0430 \u041c\u0430\u0440\u0438\u044f \u0418\u0433\u043e\u0440\u0435\u0432\u043d\u0430 [\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c] => \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 [\u0412\u043e\u0437\u0440\u0430\u0441\u0442] => 26 ) ) \r\n\r\n\u0414\u0430\u0434\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430\u043b\u0430 \r\n\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u044f\u043c, \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443 \u0438 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443. \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 usort() .\r\n\r\nusort($array, \"function\");\r\n\r\n\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:\r\n\r\n- usort() \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \r\n\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.\r\n- $array \u2014 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438.\r\n- \u00abfunction\u00bb \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \r\n\u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438. \u041e\u043d\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u0432\u044b\u0447\u043a\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435.\r\n\r\n\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0434\u0435\u043b\u0435 \u2014 \u043d\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435 \r\n\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443, \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443 (\u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e) \u0438 \u043f\u043e ID (\u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e).\r\n\r\n\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435:\r\n\r\n- \u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u0442\u0440\u0451\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043d\u0438\u0436\u0435 \u043c\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \r\n\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f (alphSort, ageSort \u0438 idSort \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e), \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0435\u0451 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 usort() \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.\r\n- \u0426\u0438\u043a\u043b foreach \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \r\n\u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435 $employees. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043c\u044b \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0446\u0438\u043a\u043b\u0430 \u043e\u0431\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u0445 $employee \u2014 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0447\u0438\u0441\u043b\u0435.\r\n- \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u0430\u043c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \r\n\u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 (\u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438: $array[\u00abkey\u00bb] \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.\r\n\r\necho \"<h3>\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u043e \u0424\u0418\u041e \r\n\u0447\u0435\u0440\u0435\u0437 usort() \u0438 strcmp (\u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443)<\/h3>\"; function alphSort($name1, $name2) { return strcmp($name1[\"\u0424\u0418\u041e\"], $name2[\"\u0424\u0418\u041e\"]); }; usort($employees, \"alphSort\"); foreach ($employees as $employee) { echo \"ID \" . $employee[\"ID\"] . \", \" . \"<b>\u0424\u0418\u041e: \" . $employee[\"\u0424\u0418\u041e\"] . \",<\/b> \" . \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \" . $employee[\"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\"] . \", \" . \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442: \" . $employee[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"] . \"<br>\"; }; \r\n\r\n\u0424\u0443\u043d\u043a\u0446\u0438\u044f alphSort() \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \r\n\u0424\u0418\u041e ($name1 \u0438 $name2) \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0438\u0445 \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 strcmp() . \u041e\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e usort(), \u0433\u0434\u0435 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435.\r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \r\n\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u2014 \u0424\u0418\u041e \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443:\r\n\r\nID 2, \u0424\u0418\u041e: \u0410\u0445\u0440\u044e\u043d\u043e\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0442\u0435\u043f\u0430\u043d\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \r\n\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 32 ID 4, \u0424\u0418\u041e: \u0411\u043e\u043a\u0430\u043a\u0438\u043d \u0410\u0440\u0441\u0435\u043d\u0438\u0439 \u0411\u0440\u043e\u043d\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 31 ID 1, \u0424\u0418\u041e: \u0412\u0443\u0432\u0443\u0437\u0435\u043b\u0430 \u0410\u043d\u0434\u0440\u0435\u0439 \u041f\u0430\u0432\u043b\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 29 ID 5, \u0424\u0418\u041e: \u0413\u043e\u043b\u043e\u0445\u0440\u044e\u0445\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 40 ID 3, \u0424\u0418\u041e: \u041e\u0445\u0440\u044e\u043d\u0435\u043d\u043a\u043e \u0411\u043e\u0440\u0438\u0441 \u0413\u043e\u0440\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041a\u0443\u0440\u044c\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 22 ID 6, \u0424\u0418\u041e: \u0421\u043e\u0432\u0430\u043a\u043e\u0448\u043a\u0430 \u041c\u0430\u0440\u0438\u044f \u0418\u0433\u043e\u0440\u0435\u0432\u043d\u0430, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 26 \r\n\r\n\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0432\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u043c\u0443 \r\n\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443. \u0412\u043e\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443.\r\n\r\necho \"<h3>\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443 \r\n\u0447\u0435\u0440\u0435\u0437 usort() (\u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e)<\/h3>\"; function ageSort($age1, $age2) { if ($age1[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"] == $age2[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"]) { return 0; } return ($age1[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"] < $age2[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"]) ? -1 : 1; }; usort($employees, \"ageSort\"); foreach ($employees as $employee) { echo \"ID \" . $employee[\"ID\"] . \", \" . \"\u0424\u0418\u041e: \" . $employee[\"\u0424\u0418\u041e\"] . \", \" . \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \" . $employee[\"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\"] . \", \" . \"<b>\u0412\u043e\u0437\u0440\u0430\u0441\u0442: \" . $employee[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"] . \"<\/b><br>\"; }; \r\n\r\n\u0424\u0443\u043d\u043a\u0446\u0438\u044f ageSort() \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043f\u043e \u0434\u0432\u0430 \r\n\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u2014 $age1, $age2), \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432) \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u041e\u043d\u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e usort().\r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \r\n\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443:\r\n\r\nID 3, \u0424\u0418\u041e: \u041e\u0445\u0440\u044e\u043d\u0435\u043d\u043a\u043e \u0411\u043e\u0440\u0438\u0441 \u0413\u043e\u0440\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \r\n\u041a\u0443\u0440\u044c\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 22 ID 6, \u0424\u0418\u041e: \u0421\u043e\u0432\u0430\u043a\u043e\u0448\u043a\u0430 \u041c\u0430\u0440\u0438\u044f \u0418\u0433\u043e\u0440\u0435\u0432\u043d\u0430, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 26 ID 1, \u0424\u0418\u041e: \u0412\u0443\u0432\u0443\u0437\u0435\u043b\u0430 \u0410\u043d\u0434\u0440\u0435\u0439 \u041f\u0430\u0432\u043b\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 29 ID 4, \u0424\u0418\u041e: \u0411\u043e\u043a\u0430\u043a\u0438\u043d \u0410\u0440\u0441\u0435\u043d\u0438\u0439 \u0411\u0440\u043e\u043d\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 31 ID 2, \u0424\u0418\u041e: \u0410\u0445\u0440\u044e\u043d\u043e\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0442\u0435\u043f\u0430\u043d\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 32 ID 5, \u0424\u0418\u041e: \u0413\u043e\u043b\u043e\u0445\u0440\u044e\u0445\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 40 \r\n\r\n\u041a\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \r\n\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0440\u0435\u0442\u0438\u0439 \u2014 \u043f\u043e ID:\r\n\r\necho \"<h3>\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u043e ID \u0447\u0435\u0440\u0435\u0437 \r\nusort() (\u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e)<\/h3>\"; function idSort($id1, $id2) { if ($id1[\"ID\"] == $id2[\"ID\"]) { return 0; } return ($id1[\"ID\"] < $id2[\"ID\"]) ? 1 : -1; }; usort($employees, \"idSort\"); foreach ($employees as $employee) { echo \"<b>ID \" . $employee[\"ID\"] . \",<\/b> \" . \"\u0424\u0418\u041e: \" . $employee[\"\u0424\u0418\u041e\"] . \", \" . \"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \" . $employee[\"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c\"] . \", \" . \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442: \" . $employee[\"\u0412\u043e\u0437\u0440\u0430\u0441\u0442\"] . \"<br>\"; }; ?> \r\n\r\n\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0448\u043b\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0437\u0434\u0435\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \r\nidSort() \u0442\u043e\u0436\u0435 \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u0430 \u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0434\u0432\u0443\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u2014 \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e ID \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 ($id1, $id2) \u2014 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432) \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f.\r\n\r\n\u0412\u044b\u0432\u043e\u0434 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \r\n\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0440\u0435\u0442\u0438\u0439 \u2014 \u043f\u043e ID:\r\n\r\nID6, \u0424\u0418\u041e: \u0421\u043e\u0432\u0430\u043a\u043e\u0448\u043a\u0430 \u041c\u0430\u0440\u0438\u044f \u0418\u0433\u043e\u0440\u0435\u0432\u043d\u0430, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \r\n\u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 26 ID 5, \u0424\u0418\u041e: \u0413\u043e\u043b\u043e\u0445\u0440\u044e\u0445\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 40 ID 4, \u0424\u0418\u041e: \u0411\u043e\u043a\u0430\u043a\u0438\u043d \u0410\u0440\u0441\u0435\u043d\u0438\u0439 \u0411\u0440\u043e\u043d\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 31 ID 3, \u0424\u0418\u041e: \u041e\u0445\u0440\u044e\u043d\u0435\u043d\u043a\u043e \u0411\u043e\u0440\u0438\u0441 \u0413\u043e\u0440\u0438\u0441\u043b\u0430\u0432\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041a\u0443\u0440\u044c\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 22 ID 2, \u0424\u0418\u041e: \u0410\u0445\u0440\u044e\u043d\u043e\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0442\u0435\u043f\u0430\u043d\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 32 ID 1, \u0424\u0418\u041e: \u0412\u0443\u0432\u0443\u0437\u0435\u043b\u0430 \u0410\u043d\u0434\u0440\u0435\u0439 \u041f\u0430\u0432\u043b\u043e\u0432\u0438\u0447, \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 29 \r\n\r\n\u0418\u0442\u043e\u0433\u0438\r\n\r\n\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043e\u043a \r\n\u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 PHP: \u0447\u0438\u0441\u043b\u043e\u0432\u0443\u044e, \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u0443\u044e, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e, \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u0443\u044e \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e. \u0414\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043d\u0430\u0448\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.\r\n\r\n\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u0430 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \r\n\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 PHP \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438-\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043a\u0430\u043c\u0438: \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430\u0445 \u043e\u043d\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u0443\u0447\u0448\u0435 \u043d\u0430\u0439\u0442\u0438 \u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0430\u043c. \u0410 \u0434\u043b\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u044f\u0437\u044b\u043a\u0430, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043e\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439.\r\n\r\n\r\n\r\n\u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435:\r\n\r\n- \u0423\u0445\u043e\u0434 \u041d\u0438\u043a\u0438\u0442\u044b \u041f\u043e\u043f\u043e\u0432\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 PHP Foundation: \r\n\u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u0441 PHP? \r\n- \u0410\u043d\u0442\u0438\u0432\u0438\u0440\u0443\u0441 \u0411\u0430\u0431\u0443\u0448\u043a\u0438\u043d\u0430, \u00ab\u041a\u0443\u043a\u0443-AU\u00bb \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \r\n\u0447\u0443\u0434\u0435\u0441\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u0447\u0435\u0431\u0443\u0440\u043d\u0435\u0442\u0430 \r\n- PHP for dummies: \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0437\u044b\u043a\u0430 \r\n\u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0432 2021 \u0433\u043e\u0434\u0443 ","author":{"@type":"Person","name":"\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u041a\u043e\u043b\u0435\u0441\u043d\u0438\u043a\u043e\u0432","url":"https:\/\/skillbox.ru\/media\/authors\/evgeniy-kolesnikov\/"},"publisher":{"@type":"Organization","name":"Skillbox","logo":{"@type":"ImageObject","url":"https:\/\/skillbox.ru\/static\/images\/skillbox.png"}},"mainEntityOfPage":{"@type":"WebPage","url":"https:\/\/skillbox.ru\/media\/code\/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami\/"},"datePublished":"2022-06-17T07:45:00Z","dateModified":"2024-02-06T15:28:12Z","image":{"@type":"ImageObject","url":["https:\/\/248006.selcdn.ru\/main\/iblock\/80c\/80c0711b7c472e76129801a86229ba50\/10e6765781b783634725827d00e12ce8.png"]},"description":"\u0421\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c\u0438 \u043d\u0438\u043d\u0434\u0437\u044f \u0432 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0412\u043c\u0435\u0441\u0442\u043e \u043e\u0440\u0443\u0436\u0438\u044f — \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 PHP, \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0438 \u0442\u043e\u0447\u043d\u044b\u0435, \u043a\u0430\u043a \u043a\u0430\u0442\u0430\u043d\u0430."}
</script><script data-skip-moving="true" id="FiMjZmipVK5U4ODg">if (window.relap) window.relap.ar('FiMjZmipVK5U4ODg');</script> </div>
<script>
window.Section_id = 10;
</script>
</div>
</main>
<footer class="without-buttons">
<div class="footer__wrapper container">
<div class="footer__firstgroup">
<section class="footer__contactbox">
<address class="footer__contacts">
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74951540915">8 (800) 500-05-22</a>
<span class="footer__phone-caption">Контактный центр</span>
</p>
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74952915987">+7(495) 291-59-87</a>
<span class="footer__phone-caption">Отдел заботы о пользователях</span>
</p>
<p class="footer__address"> Москва, Ленинский проспект, дом 6, строение 20</p>
</address>
<ul class="social-contacts footer__social">
<li>
<a class="social-contacts__item" href="https://vk.com/skillbox_education"
aria-label="Вконтакте">
<img src="/static/images/footer/soc_vk.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item"
href="https://www.youtube.com/channel/UC2FJq-Rr7v4SlKAoM7x0ZhA" aria-label="YouTube">
<img src="/static/images/footer/soc_tube.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item" href="tg://resolve?domain=skillboxru"
aria-label="Telegram">
<img src="/static/images/footer/soc_tg.svg"/>
</a>
</li>
</ul>
<div class="footer__age-limit">
16+
</div>
</section>
<section class="footer__rewardbox">
<ul class="rewards footer__rewards">
<li>
<span class="rewards__item">
<img src="/static/images/footer/footer_runet.svg" alt=""/>
<span>Премии Рунета</span>
<span>2018, 2019, 2020</span>
</span>
</li>
</ul>
</section>
</div>
<section class="footer__linksbox">
<ul class="links__list links__list--courses">
<li class="links__item links__item--header">Все направления</li>
<li class="links__item"><a href="/code/?utm_source=media&utm_medium=button&utm_campaign=footerlink_code&utm_term=footer">Программирование</a></li>
<li class="links__item"><a href="/design/?utm_source=media&utm_medium=button&utm_campaign=footerlink_design&utm_term=footer">Дизайн</a></li>
<li class="links__item"><a href="/marketing/?utm_source=media&utm_medium=button&utm_campaign=footerlink_marketing&utm_term=footer">Маркетинг</a></li>
<li class="links__item"><a href="/management/?utm_source=media&utm_medium=button&utm_campaign=footerlink_management&utm_term=footer">Управление</a></li>
<li class="links__item"><a href="/games/?utm_source=media&utm_medium=button&utm_campaign=footerlink_gamedev&utm_term=footer">Игры</a></li>
<li class="links__item"><a href="/multimedia/?utm_source=media&utm_medium=button&utm_campaign=footerlink_multimedia&utm_term=footer">Мультимедиа</a></li>
<li class="links__item"><a href="/psychology/?utm_source=media&utm_medium=button&utm_campaign=footerlink_psychology&utm_term=footer">Психология</a></li>
<li class="links__item"><a href="/general-development/?utm_source=media&utm_medium=button&utm_campaign=footerlink_general-development&utm_term=footer">Общее развитие</a></li>
<li class="links__item"><a href="/engineering/?utm_source=media&utm_medium=button&utm_campaign=footerlink_engineering&utm_term=footer">Инженерия</a></li>
<li class="links__item"><a href="/english/?utm_source=media&utm_medium=button&utm_campaign=footerlink_english&utm_term=footer">Английский язык</a></li>
<li class="links__item"><a href="/other/?utm_source=media&utm_medium=button&utm_campaign=footerlink_other&utm_term=footer">Другое</a></li>
</ul>
<ul class="links__list links__list--about">
<li class="links__item links__item--header">О Skillbox</li>
<li class="links__item"><a href="/company/?utm_source=media&utm_medium=button&utm_campaign=footerlink_aboutskillbox&utm_term=footer">О Платформе</a></li>
<li class="links__item"><a href="/career/?utm_source=media&utm_medium=button&utm_campaign=footerlink_careercentr&utm_term=footer"> Центр карьеры</a></li>
<li class="links__item"><a href="/otzyvy/?utm_source=media&utm_medium=button&utm_campaign=footerlink_testimonials&utm_term=footer">Отзывы</a></li>
<li class="links__item"><a href="/contacts/?utm_source=media&utm_medium=button&utm_campaign=footerlink_skillboxcontacts&utm_term=footer">Контакты</a></li>
<li class="links__item"><a href="/jobs/?utm_source=media&utm_medium=button&utm_campaign=footerlink_jobs&utm_term=footer">Вакансии</a></li>
<li class="links__item"><a href="/teachers/?utm_source=media&utm_medium=button&utm_campaign=footerlink_school&utm_term=footer">Школа кураторов</a></li>
<li class="links__item"><a href="/sale/free/?utm_source=media&utm_medium=button&utm_campaign=footerlink_free&utm_term=footer">Бесплатно</a></li>
<li class="links__item"><a href="/media/topic/tests/?utm_source=media&utm_medium=button&utm_campaign=footerlink_tests&utm_term=footer">Онлайн-тесты</a></li>
</ul>
<ul class="links__list links__list--webinar">
<li class="links__item links__item--header">Вебинары</li>
<li class="links__item"><a href="https://live.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_webinars&utm_term=footer" target="_blank" rel="noopener">Все вебинары</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/playlists/?utm_source=media&utm_medium=button&utm_campaign=footerlink_playlists&utm_term=footer" target="_blank" rel="noopener">Плейлисты</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/calendar/?utm_source=media&utm_medium=button&utm_campaign=footerlink_schedule&utm_term=footer" target="_blank" rel="noopener">Расписание</a></li>
</ul>
<ul class="links__list links__list--last">
<li class="links__item links__journal"><a href="/media/" target="_blank" rel="noopener">Медиа</a></li>
<li class="links__item"><a href="https://partners.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_partners&utm_term=footer" target="_blank" rel="noopener">Партнерская программа</a></li>
<li class="links__item"><a href="https://b2b.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_b2b&utm_term=footer" target="_blank" rel="noopener">Корпоративным клиентам</a></li>
<li class="links__item"><a href="https://career.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_employees&utm_term=footer" target="_blank" rel="noopener">Для работодателей</a></li>
</ul>
</section>
</div>
<div class="footer__underline container">
<span class="footer__copy">
© Skillbox, 2026 </span>
<div>
<span class="footer__oferta">
<a href="/oferta.pdf" target="_blank">Договор оферты</a>
</span>
<span class="footer__payment">
<a href="/payments/" target="_blank">Оплата</a>
</span>
<span class="footer__use-policy">
<a href="/terms_of_use.pdf" target="_blank">Правила пользования Платформой</a>
<a href="/privacy_policy.pdf" target="_blank">Политика конфиденциальности</a>
</span>
</div>
</div>
</footer>
<div class="cookies">
<p class="cookies__desc">
Пользуясь нашим сайтом, вы соглашаетесь с тем, что
<a href="https://skillbox.ru/privacy_policy.pdf" target="_blank" rel="noopener"
type="application/pdf">мы используем cookies</a> 🍪
</p>
<button type="button" class="cookies__button">
Окей
</button>
</div>
<div class="subscribe-popup subscribe">
<div class="subscribe-popup__spacer-mobile"></div>
<div class="subscribe-popup__row-content ">
<button class="subscribe__close"></button>
<div class="subscribe__content">
<div data-subscribe-popup-success class="hidden">
<h2 class="subscribe__header-success">Спасибо за подписку! Забирайте 5 бесплатных курсов:</h2>
<ul class="subscribe__list-block">
<li>Найти себя в IT за 5 дней</li>
<li>Как найти себя в дизайне в 2025 году</li>
<li>Интерьеры, мебель, ландшафт и декорирование</li>
<li>Интернет-маркетинг на практике</li>
<li>Бизнес-аналитик, продакт- и проджект-менеджер</li>
</ul>
<div class="subscribe__btns-el">
<a
target="_blank"
href="https://refer.id/?bot=skillbox_main_bot&platform=telegram&verbose_name=Skillbox&bot_avatar=https://designer.ftrcdn.com/uploads/bot_avatars/medium_54ab1ce8c393eb3df1474846ce0a0e2c.png&n=137050&c=9209&bc_number=890&?utm_source=media&utm_medium=&utm_campaign=all_all_media_banners_invite_sbornik-890_all_bot_skillbox"
class="subscribe__el-btn">Получить доступ</a>
</div>
</div>
<div data-subscribe-popup-content>
<h2 class="subscribe__header">У нас есть классные рассылки!</h2>
<form action="/media/code/kak-otsortirovat-massiv-v-php-trinadtsatyu-sposobami-instruktsiya-s-primerami/" class="newsletter-form page-subscription__form3" data-type="popup">
<input type="hidden" name="action" value="subscribe">
<div class="subscribe__checkboxes"></div>
<div class="subscribe__email email_popup">
<input class="subscribe-form__input" type="text" name="email" placeholder="Email" >
<span class="subscribe-form__label-name">Электронная почта</span>
<button type="submit" class="popup-btn-click">Подписаться</button>
<span class="email__error">Поле необходимо заполнить</span>
</div>
<div class="subscribe-popup__checkbox-end">
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data>
<div class="subscribe__checkbox">
<input type="checkbox" name="agreements[PERS]" id="isCheckTrue" value="1" data-checkbox-personal-data-input>
<label for="isCheckTrue"><span>Я согласен на <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/privacy_policy/version-290425.pdf">обработку персональных данных</a></span></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
<div class="subscribe__bottom">
<span>Нажимая на кнопку, я соглашаюсь с <a target="_blank" href="https://skillbox.ru/legal-docs/skillbox/file/terms_of_use/version-300824.pdf">правилами пользования Платформой</a></span>
</div>
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data-two>
<div class="subscribe__checkbox subscribe__checkbox--end" >
<input type="checkbox" name="agreements[ADS]" id="isAdsCalls" value="1" checked="" data-checkbox-personal-data-input-two>
<label for="isAdsCalls">Я согласен <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/soglasie-na-poluchenie-reklamy.pdf">получать рекламу и звонки</a></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- src="/static/images/articles/subscribe-popup-img.png" -->
</div>
<div class="bg-modal-overlay bg-modal-overlay--transparent"></div>
<script data-skip-moving="true" id="popup__data--formatted">
$(".popup-btn-click").on("click" , function (){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
let input = $(this).closest(".subscribe__email").find(".subscribe-form__input");
let inputValue = input.val();
if(emailPattern.test(inputValue)) {
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(inputValue);});
}
});
/*
window.popupData = {
"8": {
header: 'У нас есть классные рассылки про дизайн!!!',
category: 'Дизайн',
checkboxes: [
'Лучшие статьи про Дизайн',
'«Типографика без боли»'
]
},
"10": {
header: 'У нас есть классные рассылки про код',
category: 'Код',
checkboxes: [
'Лучшие статьи про Код и Людей кода',
'«Жизнь без багов»'
]
},
"18": {
category: 'Геймдев',
checkboxes: []
},
"21": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Бизнес',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"9": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Маркетинг',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"11": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Управление',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"17": {
category: 'Развитие',
checkboxes: []
},
"22": {
header: 'У нас есть классные рассылки про образование',
category: 'Образование',
checkboxes: [
'Лучшие статьи про Образование',
'«EdTech по полочкам»',
'«Мой успешный онлайн-курс»'
]
},
}
*/
window.popupData = {"header":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 - \u043d\u0430 \u043f\u043e\u0447\u0442\u0443!\u003Cbr\/\u003E\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043c\u0443 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438\u003Cbr\/\u003E\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 5 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432:","category":"\u041a\u043e\u0434","checkboxes":{"23":"\u041c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442","24":"\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433","26":"\u041a\u043e\u0440\u043f. \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","13":"\u0414\u0438\u0437\u0430\u0439\u043d","16":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","15":"\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","17":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440","18":"\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u044f, \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e"},"code":"code","scroll":true};
window.subscribePopupShow = 1;
</script>
<div class="copied">
<img src="/static/images/articles/done-circle.svg" alt="" class="copied__icon">
<p class="copied__text">
Ссылка скопирована
</p>
</div>
<!-- <style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{box-sizing:border-box;text-decoration:none;display:none;min-height:48px;color:var(--banner-color);background-color:var(--banner-bg);overflow:hidden;font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out}.universal-notice *{box-sizing:inherit}.universal-notice.universal-notice--active{display:block}.universal-notice--bitrix{z-index:1000}.universal-notice__wrapper{position:relative;-webkit-box-pack:start;justify-content:flex-start;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:12px;padding:4px 0}.universal-notice__title{position:relative;flex-shrink:0;width:132px;margin-right:27px;font-size:14px;line-height:20px;text-transform:uppercase}.universal-notice__timer{display:none;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.universal-notice__button{flex-shrink:0;min-width:120px;padding:8px 12px;border-radius:25px;font-weight:500;font-size:12px;line-height:16px;color:#3925b7;text-align:center;text-transform:uppercase;background-color:#ffa6a6}@media (min-width:768px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:768px) and (max-width:0px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:1280px) and (max-width:0px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}@media (min-width:1280px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}</style>-->
</body>
</html>