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中通過參照呼叫的簡單範例。
File: functionref.php
<?php
function adder(&$str2)
{
$str2 .= 'Call By Reference';
}
$str = 'Hello ';
adder($str);
echo $str;
?>
執行上面程式碼結果如下 -
Hello Call By Reference
我們可以在函式中指定預設引數值。 在呼叫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函式的例子。
檔案: functiondefaultarg.php
<?php
function cube($n){
return $n*$n*$n;
}
echo "Cube of 3 is: ".cube(3);
?>
執行上面程式碼結果如下 -
Cube of 3 is: 27