Funzioni in PHP

Da Hacknowledge.

In PHP esistono molte funzioni incluse nel linguaggio di default, ma c'è anche la possibilità di crearsene altre in modo personalizzato per scopi specifici.
La creazione di funzioni personalizzate in php è semplicissima rispetto ad altri linguaggi dato che esso non fa differenza di tipo di dati.

La sintassi nella creazione di una funzione è:

function nome_funzione(parametro1 ( opz ), parametro2 ( opz ), ...)
{
  istruzione1
  istruzione2 ( opz )
  ...
  return variabile; ( opz )
}

La parola return serve appunto per far ritornare il valore di una variabile al punto in cui è stata chiamata la funzione, se ad esempio una funzione ha come ritorno una stringa, il comando:

$pluto = funzione_personalizzata();

fa assumere alla variabile $pluto il valore ( ovvero il testo ) della stringa che è ritornata dalla funzione.

Facciamo un esempio pratico, costruiamo una funzione che dica quanti anni si compie il prossimo anno ( salutandoci :D ):

<?php
  function salve($nome, $anni)
  {
    $anni += 1;
    $stringa = "Ciao $nome, lo sai che il prossimo anno avrai $anni anni? ";
 
    return $stringa;
  }
?>

Per utilizzare questa funzione basterà dare un comando come:

echo salve("Paperino", 20);

( In quest'esempio la stringa di ritorno verrà stampata a video ).

[modifica] Parametri Facoltativi

Una funzione può avere anche dei parametri facoltativi, ciò lo si può fare con le parentesi quadre ( [ e ] ) facciamo un esempio:
function ciao($nome [, int $anni]) 
{
  if (!$anni) $anni = 10;
  $str = "Ciao $nome, hai $anni!";
  return $str;
}

Si è visto anche un'altra cosa che non avevamo esaminato precedentemente ovvero il tipo int che specifica che quel tipo di parametro dev'essere un numero di tipo intero ( senza virgola ).

Esiste però un altro modo per dichiarare dei parametri facoltativi mostrato nel seguente script:
function ciao($anni ,$nome = "Mister X")
{
  $str = "Ciao $nome, hai $anni!";
  return $str;
}
In questo modo la funzione se viene chiamata così:
echo ciao(22);
produce un output che è:
  Ciao Mister X, hai 22 anni!
Strumenti personali