Dichiarazione di una funzione in PHP

Dichiarazione di una funzione in PHP

Una funzione è un blocco di codice che può essere richiamato da altro codice per eseguire un determinato compito.

Dichiarare una funzione significa definire il comportamento di una funzione e dargli un nome in modo che possa essere richiamato da altro codice. E' buona pratica dare nomi alle funzioni che siano descrittivi rispetto a quello che esegue la funzione, se ad esempio la nostra funzione esegue una somma tra numeri, sarebbe utile dichiarare la funzione in questo modo: function somma ($argomenti){ ... }

Sintassi di una funzione

function nome_funzione ($argomenti) { ... }

Invocazione di una funzione

Per poter utilizzare una funzione è necessario invocare una funzione, cioè chiamare e utilizzare la funzione in un altro pezzo di codice. Questo può essere fatto passando gli argomenti necessari alla funzione e ottenendo il valore di ritorno. Ad esempio:

<?php
function somma($a, $b) {
  return $a + $b;
}

$risultato = somma(1, 2);
echo $risultato; 
?>
// output : 3

PHP è un linguaggio interpretato, cioè non è necessario uno step preventivo di compilazione del codice al fine di poterlo eseguire. Però è anche vero che il codice non viene eseguito immediatamente. Ci sono delle operazioni, diciamo preventive, che vengono fatte. Il codice viene preventivamente analizzato e le funzioni così definite vengono messe in memoria.

Quindi, anche se l'invocazione è precedente alla definizione, riusciamo comunque a invocare la funzione. Ad esempio:

<?php
echo somma(1,2);

function somma($a, $b) {
  return $a + $b;
}
?>
// output : 3

Esempio di una funzione

Facciamo l'esempio in cui vogliamo creare una funzione che conta i caratteri. Usiamo la funzione iconv_strlen() poichè se usassimo strlen() il carattere è verrebbe conteggiato come 2 byte e invaliderebbe il conteggio esatto dei caratteri.

<?php
function lunghezza($stringa) {
    return iconv_strlen($stringa);
  };

echo lunghezza("Donato è uno sviluppatore");
?>
// output : 16

Cos'è una funzione anonima.

Una funzione anonima è una funzione che non ha un nome e viene utilizzata come valore di ritorno di altre funzioni o come argomento di altre funzioni. Ad esempio:

Sintassi di una funzione anonima.

<?php
// ESEMPIO DI FUNZIONE ANONIMA
$somma = function($a,$b) {
    return $a + $b;
};

// Non è possibile invocare una funzione anonima in questo modo $somma(100,2) in modo diretto.
$risultato = $somma(100,2);
echo 'La somma tra i numeri è: ' . $risultato;
?>

// output: La somma tra i numeri è: 102

Invocazione di una funzione anonima

Come appena accennato, a differenza di una funzione classica, la funzione anonima non può essere invocata direttamente, ma si prestano bene ad essere usate come callback (cioè come argomento di un altra funzione), come valore di ritorno di una funzione oppure con array_map() e array_filter()

Esempio funzione Anonima

<?php
// Esempio di funzione anonima di callback su array_map()

$stringa = ["mela", "arancia", "banana", "cocco"];
$lunghezza = array_map( function($item) {
    return strlen($item);
} , $stringa);
print_r($lunghezza);
?>
/* output:
Array
(
    [0] => 4
    [1] => 7
    [2] => 6
    [3] => 5
)
*/

Differenze principali tra una funzione normale ed una funzione anonima

Le principali differenze tra una funzione ed una funzione anonima sono:

  1. Nome: una funzione ha un nome che la identifica univocamente, mentre una funzione anonima non ha un nome.
  2. Chiamata: una funzione viene invocata usando il suo nome, mentre una funzione anonima viene invocata usando una variabile che la contiene.
  3. Dichiarazione: una funzione viene dichiarata usando la sintassi function nome_funzione(argomenti) { ... }, mentre una funzione anonima viene dichiarata come valore di una espressione.
  4. Scope: una funzione ha un proprio scope che contiene le variabili locali, mentre una funzione anonima può accedere alle variabili del scope che la contiene usando la direttiva use.
  5. Ritorno: entrambe le funzioni possono restituire un valore, ma le funzioni anonime hanno una sintassi più semplice per la dichiarazione del valore di ritorno.
  6. Uso: le funzioni possono essere usate in molte situazioni diverse, come ad esempio come valore di ritorno da una funzione, come argomento per altre funzioni o come parte di un'espressione. Le funzioni anonime sono spesso usate come comparatori per le funzioni di ordinamento o come valore di ritorno da funzioni che creano oggetti o funzioni con stato.

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2023
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram