PHP函數

PHP函數是一段可以重複使用多次的代碼。 它可以接受輸入作爲參數列表和返回值。 PHP中有成千上萬的內置函數。

在PHP中,我們可以定義條件函數,函數內的函數和遞歸函數。

PHP函數的優點

代碼重用性:PHP函數只定義一次,可以多次調用,就像其他編程語言一樣。

使用更少的代碼: 它節省了大量代碼,因爲我們不需要多次重寫邏輯。 通過使用函數,可以只寫一次邏輯並重用它。

易於理解: PHP函數分離了編程邏輯。 因此,更容易理解應用程序的流程,因爲每個邏輯都被劃分爲函數的形式。

PHP用戶定義函數

我們可以很容易地聲明和調用用戶定義的函數。下面來看看看聲明用戶定義函數的語法。

function functionname(){  
    //code to be executed  
}

注意:函數名必須以字母和下劃線開頭,與PHP中的其他標籤(如:變量)一樣。 它不能以數字或特殊符號開頭。

執行上面代碼結果如下 -

PHP函數示例1

文件: function1.php

<?php  
function sayHello(){  
echo "Hello PHP Function";  
}  
sayHello();//calling function  
?>

執行上面代碼結果如下 -

Hello PHP Function

函數參數

我們可以通過用逗號分隔的參數傳遞PHP函數中的信息。
PHP支持按值調用(默認),通過引用調用,默認參數值和可變長度參數列表。

下面來看看看在PHP函數中傳遞單個參數的例子。
文件: functionarg.php

<?php  
function sayHello($name){  
    echo "Hello $name<br/>";  
}  
sayHello("MaxSu");  
sayHello("MinSu");  
sayHello("John");  
?>

執行上面代碼結果如下 -

Hello MaxSu
Hello MinSu
Hello John

下面來看看看在PHP函數中傳遞兩個參數的例子。

文件: functionarg2.php

<?php  
function sayHello($name,$age){  
echo "Hello $name, you are $age years old<br/>";  
}  
sayHello("Maxsu",27);  
sayHello("Minsu",26);  
sayHello("John",23);  
?>

執行上面代碼結果如下 -

Hello Maxsu, you are 27 years old
Hello Minsu, you are 26 years old
Hello John, you are 23 years old

PHP引用調用

傳遞給函數的值默認情況下不會修改實際值(通過值調用)。 但我們可以通過傳遞值作爲參考(引用)。

默認情況下,傳遞給函數的值是通過值調用。 要傳遞值作爲參考(引用),您需要在參數名稱前使用&符號(&)。

下面來看看一個在PHP中通過引用調用的簡單示例。

File: functionref.php

<?php  
function adder(&$str2)  
{  
    $str2 .= 'Call By Reference';  
}  
$str = 'Hello ';  
adder($str);  
echo $str;  
?>

執行上面代碼結果如下 -

Hello Call By Reference

PHP函數:默認參數值

我們可以在函數中指定默認參數值。 在調用PHP函數時,如果不指定任何參數,它將採用默認參數。 下面來看看一個在PHP函數中使用默認參數值的簡單示例。

文件: functiondefaultarg.php

<?php  
function sayHello($name="default_name"){  
    echo "Hello $name<br/>";  
}  
sayHello("maxsu");  
sayHello();//passing no value  
sayHello("John");  
?>

執行上面代碼結果如下 -

Hello maxsu
Hello default_name
Hello John

PHP函數:返回值

下面來看看一個有返回值的PHP函數的例子。

文件: functiondefaultarg.php

<?php  
function cube($n){  
return $n*$n*$n;  
}  
echo "Cube of 3 is: ".cube(3);  
?>

執行上面代碼結果如下 -

Cube of 3 is: 27