Учебники

PHP — Функции

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

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

Есть две части, которые должны быть понятны вам —

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

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

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

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

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

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

Live Demo

<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 дает вам возможность передавать ваши параметры внутри функции. Вы можете передать столько параметров, сколько хотите. Эти параметры работают как переменные внутри вашей функции. Следующий пример принимает два целочисленных параметра, складывает их вместе и затем печатает.

Live Demo

<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

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

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

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

Следующий пример изображает оба случая.

Live Demo

<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 останавливает выполнение функции и отправляет значение обратно в вызывающий код.

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

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

Live Demo

<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 в случае, если использование не передает никакого значения этой функции.

Live Demo

<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

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

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

Live Demo

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

Это покажет следующий результат —