Deklaracja własnych funkcji w PHP

Stronę tą wyświetlono już: 196 razy

W PHP do tworzenia funkcji konieczne było wprowadzenie słowa kluczowego function, ponieważ w PHP nie ma ścisłej kontroli typów. Funkcje w PHP mogą zwracać dane poprzez wartość w następujący sposób:

Listing 1
  1. <?php
  2. function multiply($a, $b){
  3. return $a * $b;
  4. }
  5. echo("Wynik " . multiply(10, 20));
  6. ?>

Rezultat:

Wynik 200

Można też zwracać dane poprzez referencje:

Listing 2
  1. <?php
  2. function multiply($a, $b, &$result){
  3. return $a * $b;
  4. }
  5. $result = 0;
  6. multiply(10, 20, $result);
  7. echo("Wynik $result");
  8. ?>

Oczywiście funkcja nie musi zwracać żadnej wartości, może też zwracać różne typy wartości w zależności od sytuacji, np. funkcja może zwrócić false, gdy się nie powiedzie lub jakiś wynik poprawnego jej działania.

W PHP trochę tak jak w Pythonie możliwe jest domyślne ustawianie parametrów funkcji:

Listing 3
  1. <?php
  2. function multiply($a, $b = 0){
  3. return $a * $b;
  4. }
  5. echo("<p>" . multiply(10) . "</p>");
  6. echo("<p>" . multiply(10, 2) . "</p>");
  7. ?>

Rezultat:

0

20

Taka konstrukcja jest konieczna z tego względu, że w PHP nie ma możliwości przeciążania funkcji jak ma to miejsce w C++. Wiąże się to z tym, że nie ma tutaj jawnej kontroli typów.

Komentarze