PHP - funkcje

Funkcje PHP są podobne do innych języków programowania. Funkcja to fragment kodu, który pobiera jeszcze jedno dane wejściowe w postaci parametru, wykonuje pewne przetwarzanie i zwraca wartość.

Widziałeś już wiele funkcji, takich jak fopen() i fread() itd. Są to funkcje wbudowane, ale PHP daje Ci możliwość tworzenia własnych funkcji.

Są dwie części, które powinny być dla Ciebie jasne -

  • Tworzenie funkcji PHP
  • Wywołanie funkcji PHP

W rzeczywistości nie musisz tworzyć własnej funkcji PHP, ponieważ istnieje już ponad 1000 wbudowanych funkcji bibliotecznych utworzonych dla różnych obszarów i wystarczy je wywołać zgodnie z wymaganiami.

Pełny zestaw przydatnych funkcji można znaleźć w Dokumentacji funkcji PHP .

Tworzenie funkcji PHP

Stworzenie własnej funkcji PHP jest bardzo łatwe. Załóżmy, że chcesz utworzyć funkcję PHP, która po wywołaniu jej po prostu zapisze prostą wiadomość w przeglądarce. Poniższy przykład tworzy funkcję o nazwie writeMessage (), a następnie wywołuje ją zaraz po jej utworzeniu.

Pamiętaj, że podczas tworzenia funkcji jej nazwa powinna zaczynać się od słowa kluczowego function a cały kod PHP należy umieścić w nawiasach {i}, jak pokazano w poniższym przykładzie -

<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>

Spowoduje to wyświetlenie następującego wyniku -

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

Funkcje PHP z parametrami

PHP daje Ci możliwość przekazania parametrów wewnątrz funkcji. Możesz podać dowolną liczbę parametrów. Te parametry działają jak zmienne wewnątrz funkcji. Poniższy przykład pobiera dwa parametry całkowite i dodaje je razem, a następnie drukuje.

<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>

Spowoduje to wyświetlenie następującego wyniku -

Sum of the two numbers is : 30

Przekazywanie argumentów przez odniesienie

Możliwe jest przekazywanie argumentów do funkcji przez odwołanie. Oznacza to, że odwołanie do zmiennej jest przetwarzane przez funkcję, a nie kopia wartości zmiennej.

Wszelkie zmiany wprowadzone w argumencie w tych przypadkach zmienią wartość oryginalnej zmiennej. Argument można przekazać przez odwołanie, dodając znak ampersand do nazwy zmiennej w wywołaniu funkcji lub w definicji funkcji.

Poniższy przykład przedstawia oba przypadki.

<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>

Spowoduje to wyświetlenie następującego wyniku -

Original Value is 10
Original Value is 16

Funkcje PHP zwracające wartość

Funkcja może zwrócić wartość za pomocą returninstrukcja w połączeniu z wartością lub obiektem. return zatrzymuje wykonywanie funkcji i odsyła wartość z powrotem do kodu wywołującego.

Możesz zwrócić więcej niż jedną wartość z funkcji za pomocą return array(1,2,3,4).

Poniższy przykład pobiera dwa parametry całkowite i dodaje je razem, a następnie zwraca ich sumę do programu wywołującego. Zwróć na to uwagęreturn słowo kluczowe służy do zwracania wartości z funkcji.

<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>

Spowoduje to wyświetlenie następującego wyniku -

Returned value from the function : 30

Ustawianie wartości domyślnych dla parametrów funkcji

Możesz ustawić parametr tak, aby miał wartość domyślną, jeśli obiekt wywołujący funkcji jej nie przekaże.

Następująca funkcja wypisuje wartość NULL w przypadku, gdy użycie nie przekazuje żadnej wartości do tej funkcji.

<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>

To da następujący wynik -

This is test

Dynamiczne wywołania funkcji

Możliwe jest przypisanie nazw funkcji jako łańcuchów do zmiennych, a następnie traktowanie tych zmiennych dokładnie tak, jak samą nazwę funkcji. Poniższy przykład przedstawia to zachowanie.

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

Spowoduje to wyświetlenie następującego wyniku -

Hello