PHP- функции
Настоящая мощь PHP заключается в его функциях.
PHP имеет более 1000 встроенных функций, кроме того, вы можете создавать свои собственные пользовательские функции.
Встроенные функции PHP
PHP имеет более 1000 встроенных функций, которые можно вызывать напрямую из скрипта для выполнения определенной задачи.
Пожалуйста, ознакомьтесь с нашим справочником по PHP для полного обзора встроенных функций PHP .
Пользовательские функции PHP
Помимо встроенных функций PHP, можно создавать свои собственные функции.
- Функция — это блок операторов, который можно многократно использовать в программе.
- Функция не будет выполняться автоматически при загрузке страницы.
- Функция будет выполнена вызовом функции.
Создайте пользовательскую функцию в PHP
Объявление пользовательской функции начинается со слова function
:
Синтаксис
function functionName()
{
code to be executed;
}
Примечание. Имя функции должно начинаться с буквы или символа подчеркивания. Имена функций НЕ чувствительны к регистру.
Совет: Дайте функции имя, отражающее то, что она делает!
В приведенном ниже примере мы создаем функцию с именем «writeMsg()». Открывающая фигурная скобка ( { ) указывает на начало кода функции, а закрывающая фигурная скобка ( } ) указывает на конец функции. Функция выводит «Hello world!». Чтобы вызвать функцию, просто напишите ее имя, а затем скобки ():
Пример
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
Аргументы функции PHP
Информация может передаваться функциям через аргументы. Аргумент подобен переменной.
Аргументы указываются после имени функции в круглых скобках. Вы можете добавить столько аргументов, сколько хотите, просто разделите их запятой.
В следующем примере есть функция с одним аргументом ($fname). Когда вызывается функция familyName(), мы также передаем имя (например, Яни), и это имя используется внутри функции, которая выводит несколько разных имен, но одинаковую фамилию:
Пример
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
В следующем примере есть функция с двумя аргументами ($fname и $year):
Пример
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP — это язык со свободной типизацией
Обратите внимание, что в приведенном выше примере нам не нужно было сообщать PHP, к какому типу данных относится переменная.
PHP автоматически связывает тип данных с переменной в зависимости от ее значения. Поскольку типы данных не установлены в строгом смысле, вы можете делать такие вещи, как добавление строки к целому числу, не вызывая ошибки.
В PHP 7 были добавлены объявления типов. Это дает нам возможность указать ожидаемый тип данных при объявлении функции, а добавление strict
объявления вызовет «фатальную ошибку», если тип данных не соответствует.
В следующем примере мы пытаемся отправить в функцию и число, и строку без использования strict
:
Пример
<?php
function addNumbers(int $a, int $b) {
return $a
+ $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is
changed to int(5), and it will return 10
?>
Чтобы указать strict
, нам нужно установить declare(strict_types=1);
. Это должно быть в самой первой строке файла PHP.
В следующем примере мы пытаемся отправить в функцию и число, и строку, но здесь мы добавили strict
объявление:
Пример
<?php declare(strict_types=1); // strict requirement
function
addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5
days");
// since strict is enabled and "5 days" is not an integer, an
error will be thrown
?>
Декларация strict
заставляет вещи использоваться по назначению.
Значение аргумента PHP по умолчанию
В следующем примере показано, как использовать параметр по умолчанию. Если мы вызовем функцию setHeight() без аргументов, она примет значение по умолчанию в качестве аргумента:
Пример
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
PHP-функции — возвращаемые значения
Чтобы функция возвращала значение, используйте return
оператор:
Пример
<?php declare(strict_types=1); // strict requirement
function sum(int $x,
int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
Объявления типа возвращаемого значения PHP
PHP 7 также поддерживает объявления типов для return
оператора. Как и в случае с объявлением типа для аргументов функции, включение строгого требования вызовет «фатальную ошибку» при несоответствии типа.
Чтобы объявить тип возвращаемой функции, добавьте двоеточие (
:
) и тип прямо перед открывающей фигурной {
скобкой ( ) при объявлении функции.
В следующем примере мы указываем тип возвращаемого значения для функции:
Пример
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Вы можете указать тип возвращаемого значения, отличный от типов аргументов, но убедитесь, что возвращаемый тип имеет правильный тип:
Пример
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Передача аргументов по ссылке
В PHP аргументы обычно передаются по значению, что означает, что в функции используется копия значения, а переменная, которая была передана в функцию, не может быть изменена.
Когда аргумент функции передается по ссылке, изменения в аргументе также изменяют переданную переменную. Чтобы превратить аргумент функции в ссылку, используется &
оператор:
Пример
Используйте аргумент передачи по ссылке для обновления переменной:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>