PHP - Funzioni
Le funzioni PHP sono simili ad altri linguaggi di programmazione. Una funzione è un pezzo di codice che richiede un ulteriore input sotto forma di parametro, esegue alcune elaborazioni e restituisce un valore.
Hai già visto molte funzioni come fopen() e fread() ecc. Sono funzioni integrate, ma PHP ti dà la possibilità di creare anche le tue funzioni.
Ci sono due parti che dovrebbero esserti chiare:
- Creazione di una funzione PHP
- Chiamare una funzione PHP
In effetti non hai quasi bisogno di creare una tua funzione PHP perché ci sono già più di 1000 funzioni di libreria integrate create per aree diverse e devi solo chiamarle in base alle tue esigenze.
Fare riferimento a Riferimento alle funzioni PHP per un set completo di funzioni utili.
Creazione della funzione PHP
È molto facile creare la tua funzione PHP. Supponi di voler creare una funzione PHP che scriverà semplicemente un semplice messaggio sul tuo browser quando lo chiamerai. L'esempio seguente crea una funzione chiamata writeMessage () e quindi la chiama subito dopo averla creata.
Nota che durante la creazione di una funzione il suo nome dovrebbe iniziare con parola chiave function e tutto il codice PHP dovrebbe essere inserito tra parentesi graffe {e} come mostrato nel seguente esempio sotto -
<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>
Questo mostrerà il seguente risultato:
You are really a nice person, Have a nice time!
Funzioni PHP con parametri
PHP ti dà la possibilità di passare i tuoi parametri all'interno di una funzione. Puoi passare tutti i parametri che ti piacciono. Questi parametri funzionano come variabili all'interno della tua funzione. L'esempio seguente prende due parametri interi e li somma insieme e poi li stampa.
<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>
Questo mostrerà il seguente risultato:
Sum of the two numbers is : 30
Passaggio di argomenti per riferimento
È possibile passare argomenti alle funzioni per riferimento. Ciò significa che un riferimento alla variabile viene manipolato dalla funzione piuttosto che da una copia del valore della variabile.
Qualsiasi modifica apportata a un argomento in questi casi cambierà il valore della variabile originale. È possibile passare un argomento per riferimento aggiungendo una e commerciale al nome della variabile nella chiamata o nella definizione della funzione.
L'esempio seguente illustra entrambi i casi.
<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>
Questo mostrerà il seguente risultato:
Original Value is 10
Original Value is 16
Funzioni PHP che restituiscono valore
Una funzione può restituire un valore utilizzando il returndichiarazione in combinazione con un valore o un oggetto. return interrompe l'esecuzione della funzione e restituisce il valore al codice chiamante.
È possibile restituire più di un valore da una funzione utilizzando return array(1,2,3,4).
L'esempio seguente prende due parametri interi e li somma insieme, quindi restituisce la loro somma al programma chiamante. Nota chereturn parola chiave viene utilizzata per restituire un valore da una funzione.
<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>
Questo mostrerà il seguente risultato:
Returned value from the function : 30
Impostazione dei valori predefiniti per i parametri delle funzioni
È possibile impostare un parametro in modo che abbia un valore predefinito se il chiamante della funzione non lo passa.
La funzione seguente stampa NULL nel caso in cui l'uso non passi alcun valore a questa funzione.
<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>
Questo produrrà il seguente risultato:
This is test
Chiamate dinamiche di funzioni
È possibile assegnare nomi di funzione come stringhe alle variabili e quindi trattare queste variabili esattamente come si farebbe con il nome della funzione stessa. L'esempio seguente descrive questo comportamento.
<html>
<head>
<title>Dynamic Function Calls</title>
</head>
<body>
<?php
function sayHello() {
echo "Hello<br />";
}
$function_holder = "sayHello";
$function_holder();
?>
</body>
</html>
Questo mostrerà il seguente risultato:
Hello