PHP - Функции

Функции PHP похожи на другие языки программирования. Функция - это фрагмент кода, который принимает еще один ввод в виде параметра, выполняет некоторую обработку и возвращает значение.

Вы уже видели много таких функций, как fopen() и fread() и т. д. Это встроенные функции, но PHP также дает вам возможность создавать свои собственные функции.

Вам должны быть понятны две части:

  • Создание функции PHP
  • Вызов функции PHP

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

Пожалуйста , обратитесь к PHP Function Reference для полного набора полезных функций.

Создание функции PHP

Создать свою собственную функцию PHP очень легко. Предположим, вы хотите создать функцию PHP, которая будет просто писать простое сообщение в вашем браузере, когда вы его вызовете. В следующем примере создается функция с именем writeMessage (), а затем вызывается сразу после ее создания.

Обратите внимание, что при создании функции ее имя должно начинаться с ключевого слова function и весь код PHP должен быть заключен в фигурные скобки {и}, как показано в следующем примере ниже -

<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

Это отобразит следующий результат -

You are really a nice person, Have a nice time!

Функции PHP с параметрами

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

<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

Это отобразит следующий результат -

Sum of the two numbers is : 30

Передача аргументов по ссылке

Аргументы в функции можно передавать по ссылке. Это означает, что ссылка на переменную обрабатывается функцией, а не копией значения переменной.

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

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

<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

Это отобразит следующий результат -

Original Value is 10
Original Value is 16

Функции PHP, возвращающие значение

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

Вы можете вернуть более одного значения из функции, используя return array(1,2,3,4).

В следующем примере два целочисленных параметра складываются вместе, а затем возвращается их сумма в вызывающую программу. Обратите внимание, чтоreturn ключевое слово используется для возврата значения из функции.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

Это отобразит следующий результат -

Returned value from the function : 30

Установка значений по умолчанию для параметров функций

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

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

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

Это даст следующий результат -

This is test

Вызов динамических функций

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

<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

Это отобразит следующий результат -

Hello