Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

6.2.2 Встроенные функции для работы с массивами

Рассмотрим полезные встроенные функции работы с массивами:

  • Функции поиска;

  • Функции сортировки;

  • Итераторы;

  • Функции выборки и преобразования массивов.

Далее мы приводим только примеры основных функций, более подробно следует смотреть в руководстве по языку PHP.

Функции поиска

В таблице приведены функции поиска.

Наименование функции

Назначение функции и возвращаемое значение

Параметры

in_array

Поиск элемента в массиве по значению.

В случае, если элемент найден, то будет возвращено true, в противном случае возвращается false.

Внимание! Если ищем строку, то поиск чувствителен к регистру.

  • Значение для поиска;

  • Массив в котором выполняется поиск;

  • Необязательный параметр, если равен true, то равны должны быть и тип и значение, если параметр false, то только значение (например integerсначала может быть преобразован в строку, а потом только сравниваться). По умолчанию параметр равен false.

array_search

 

Поиск элемента в массиве по значению.

В случае, если элемент найден, то будет возвращен ключ элемента, в противном случае возвращается false.

Внимание! Если ищем строку, то поиск чувствителен к регистру.

  • Значение для поиска;

  • Массив, в котором выполняется поиск;

  • Необязательный параметр, если равен true, то равны должны быть и тип и значение, если параметр false, то только значение. По умолчанию параметр равен false.

Примеры функций поиска

Пример использования функций поиска:

<?php // определяем массив из 3-х элементов, ключи: 0, 1, 2 $array_1 = array( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров", 3 => 23 ); // найдем Петрова if( in_array("Петров", $array_1 ) ) {   // этот кусок кода будет выполнен, поскольку Петров есть в массиве   echo "Петров найден!"; } // найдем 23 if( in_array( "23", $array_1 ) ) {   // этот кусок кода будет выполнен, поскольку при   // сравнении число 23 будет преобразовано к строке   echo "Строка '23' найдена!"; } // найдем 23 if( in_array( "23", $array_1, true ) ) {   // этот кусок кода не будет выполнен, поскольку   // 23 в массиве имеет тип Integer а не string   ; } else {   echo "Строка '23' не найдена!"; } // найдем Петрова $key = array_search("Петров", $array_1 ); echo "Петров в массиве имеет ключ {$key}"; ?>

Функции сортировки

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

  • SORT_REGULAR – сравнивать элементы массива обычным образом;

  • SORT_NUMERIC – сравнивать элементы массива как числа;

  • SORT_STRING – сравнивать элементы массива как строки.

По умолчанию параметр имеет значение SORT_REGULAR.

Наименование функции

Назначение функции и возвращаемое значение

Параметры

sort

Сортировка элементов массива по возрастанию. Сортируются значения элементов, а не ключи!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

При сортировке старые ключи элементов удаляются, новыми ключами становятся числа с 0 до <количество элементов массива>.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

rsort

Сортировка элементов массива по убыванию. Сортируются значения элементов, а не ключи!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

При сортировке старые ключи элементов удаляются, новыми ключами становятся числа с 0 до <количество элементов массива>.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

asort

Сортировка элементов массива по возрастанию. Сортируются значения элементов, а не ключи!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

При сортировке старые ключи элементов сохраняются.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

arsort

Сортировка элементов массива по убыванию. Сортируются значения элементов, а не ключи!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

При сортировке старые ключи элементов сохраняются.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

ksort

Сортировка элементов массива по возрастанию. Сортируются ключи элементов, а не значения!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

krsort

Сортировка элементов массива по убыванию. Сортируются ключи элементов, а не значения!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

  • Сортируемый массив;

  • Необязательный параметр, задающий способ сравнения элементов.

usort

Сортировка элементов массива с использованием пользовательской функции для сравнения элементов. Сортируются значения элементов, а не ключи!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

  • Сортируемый массив;

  • Имя пользовательской функции для сортировки.

Пользовательская функция должна иметь два параметра, параметры соответствуют сравниваемым двум значениям элементов массива.

Пользовательская функция должна возвращать 0, если параметры равны, целое число меньше нуля, если первый параметр меньше и целое число больше 0, если первый параметр больше.

uksort

Сортировка элементов массива с использованием пользовательской функции для сравнения элементов. Сортируются ключи элементов, а не значения!

В случае, если сортировка прошла успешно, то будет возвращено true, в противном случае возвращается false.

  • Сортируемый массив;

  • Имя пользовательской функции для сортировки.

Пользовательская функция должна иметь два параметра, параметры соответствуют сравниваемым двум ключам элементов массива.

Пользовательская функция должна возвращать 0, если параметры равны, целое число меньше нуля, если первый параметр меньше и целое число больше 0, если первый параметр больше.