Пхп массивы и функции. php Массивы и функции в PHP. Конспект Массивы и функции в php
Скачать 19.02 Kb.
|
Конспект «Массивы и функции в PHP» Функции Функция — это фрагмент кода, который можно написать один раз, а затем использовать, когда потребуется. Прежде чем использовать функцию, её объявляют с помощью ключевого слова function. После него указывают имя функции. Оно должно начинаться с латинской буквы или знака подчёркивания. После имени функции пишут круглые скобки, а затем — тело функции в фигурных скобках. В теле функции находится тот код, который функция будет выполнять. function my_func() { keks_log('Я функция my_func'); } Когда функцию объявляют, PHP запоминает её, но при этом код внутри фигурных скобок не выполняется. Чтобы его выполнить, функцию надо вызвать. Чтобы вызвать функцию, пишем её имя и круглые скобки: my_func(); // Выведет: "Я функция my_func" Функцию можно вызывать любое число раз. Переменные, объявленные внутри функции, доступны только внутри этой функции. А внешние переменные, наоборот, внутри функции не видны. Это называется областью видимости. Вы можете узнать о ней больше в документации. Мы можем вызывать одну функцию внутри другой. Аргументы функции Аргументы позволяют передавать функции разные данные и влиять на результат её работы. Аргументы указывают при объявлении функции в круглых скобках. Их может быть сколько угодно. Если аргументов несколько, они указываются через запятую. Аргументы похожи на переменные. Они тоже хранят значения, и их имена должны начинаться со знака доллара. Аргументы можно использовать только в теле функции: function my_func($number_1, $number_2) { keks_log($number_1 - $number_2); } Значения аргументов указывают в круглых скобках при вызове функции. Их перечисляют через запятую в том же порядке, что и аргументы при объявлении функции. my_func(3, 1); // Выведет: "2" my_func(1, 3); // Выведет: "-2" Функция возвращает значение Функции могут не только принимать данные, но и возвращать их. Чтобы указать, какое значение должна вернуть функция, используют ключевое слово return: function my_func($number_1, $number_2) { return $number_1 - $number_2; } Когда функцию вызовут, на её место в коде подставится то значение, которое она вернёт. = my_func(3, 1) ?> 2 Вернув значение, функция прекратит работу. Последующий код в теле функции PHP проигнорирует. function my_func($number_1, $number_2) { return $number_1 - $number_2; // Код на следующей строке никогда не будет исполнен keks_log('Есть ли жизнь после return?'); } Функция может ничего не возвращать или вернуть одно любое значение: число, строку, массив и так далее. Встроенные функции Встроенные функции — это функции, которые написали создатели PHP. Это часть языка, поэтому их не нужно объявлять, прежде чем использовать. В PHP существуют тысячи готовых функций. Нет нужды заучивать их наизусть, ведь всегда можно заглянуть в документацию. Колбэком называют функцию, которую передают в качестве аргумента другой функции. Колбэки не являются встроенными функциями, их пишут сами разработчики. uasort Встроенная функция uasort сортирует массив. Эта функция принимает два аргумента: массив, который нужно отсортировать, и имя функции-колбэка. uasort($array, 'callback'); Функция-колбэк, которую мы передаём uasort, должна принимать два аргумента и возвращать число: положительное число, если первый аргумент больше, отрицательное число, если больше второй аргумент, и ноль, если аргументы равны. Во время вызова uasort передаёт в колбэк по двое элементы массива, узнаёт, какой из них больше, и сортирует массив по возрастанию: от меньшего к большему. array_slice Функция array_slice принимает массив, копирует его часть и возвращает её в виде нового массива. Массив, который передали функции, при этом не изменяется. Функция принимает четыре аргумента: исходный массив, порядковый номер элемента, с которого начнётся копирование, количество элементов, которые нужно скопировать, булево значение — нужно ли сохранять ключи исходного массива. $new_array = array_slice($array, $first_element, $length, $preserve_keys); array_filter В PHP есть встроенная функция фильтрации — array_filter. Она принимает два аргумента: исходный массив и функцию-колбэк — и возвращает новый массив. Исходный массив при этом не изменяется. $filtered_array = array_filter($array, 'callback'); Согласно документации, колбэк должен принимать элемент исходного массива и возвращать булево значение: true, если этот элемент нужно включить в новый массив, и false, если не нужно. array_rand Для получения случайных элементов из массива, используем функцию array_rand. Она принимает исходный массив и количество случайных элементов, которые мы хотим получить. $random = array_rand($array, $number_of_elements); Если второй аргумент — единица, функция вернёт один случайный ключ. Если второй аргумент больше единицы, функция вернёт массив со случайными ключами. Функция array_rand выбирает случайные элементы, но возвращает их в том порядке, в каком они идут в исходном массиве. shuffle Встроенная функция shuffle перемешивает массив. Функция принимает массив и выстраивает его элементы в случайном порядке. Будьте осторожны, функция shuffle изменяет переданный ей массив и не сохраняет ключи. С ассоциативными массивами её лучше не использовать. shuffle($array); Объединение массивов В PHP массивы можно объединить с помощью знака плюс: $big_array = $array_1 + $array_2; В результате получится один массив, который включает элементы как из первого, так и из второго массива. При этом порядок элементов и их ключи сохранятся. Если у нескольких элементов окажутся одинаковые ключи, то значение возьмётся из того массива, который идёт раньше. Перед объединением убедитесь, что ключи в массивах не совпадают или что одинаковым ключам соответствуют одинаковые значения. |