PHP 的真正威力源自于它的函數。
在 PHP 中,提供了超過 1000 個內建的函數。
* * *
## PHP 內建函數
如需查看所有數組函數的完整參考手冊和實例,請訪問我們的[PHP 參考手冊](https://www.runoob.com/php/php-ref-array.html)。
* * *
## PHP 函數
在本章中,我們將為您講解如何創建自己的函數。
如要在頁面加載時執行腳本,您可以把它放到函數里。
函數是通過調用函數來執行的。
你可以在頁面的任何位置調用函數。
* * *
## 創建 PHP 函數
函數是通過調用函數來執行的。
## 語法
PHP 函數準則:
* 函數的名稱應該提示出它的功能
* 函數名稱以字母或下劃線開頭(不能以數字開頭)
### 實例
一個簡單的函數,在其被調用時能輸出我的名稱:
## 實例
輸出:
~~~
My name is Kai Jim Refsnes
~~~
* * *
## PHP 函數 - 添加參數
為了給函數添加更多的功能,我們可以添加參數,參數類似變量。
參數就在函數名稱后面的一個括號內指定。
### 實例 1
下面的實例將輸出不同的名字,但姓是相同的:
## 實例
"; } echo "My name is "; writeName("Kai Jim"); echo "My sister's name is "; writeName("Hege"); echo "My brother's name is "; writeName("Stale"); ?>
輸出:
~~~
My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes.
My brother's name is Stale Refsnes.
~~~
### 實例 2
下面的函數有兩個參數:
## 實例
"; } echo "My name is "; writeName("Kai Jim","."); echo "My sister's name is "; writeName("Hege","!"); echo "My brother's name is "; writeName("St?le","?"); ?>
輸出:
~~~
My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes!
My brother's name is St?le Refsnes?
~~~
* * *
## PHP 函數 - 返回值
如需讓函數返回一個值,請使用 return 語句。
## 實例
輸出:
~~~
1 + 16 = 17
~~~
* * *
## PHP 變量函數
變量函數是指在 PHP 中,將一個變量作為函數名來調用的函數。
變量函數可以讓我們在運行時動態地決定調用哪個函數。
## 實例
<?php
functionfoo(){
? ?echo"In foo()\\n";
}
functionbar($arg\='')
{
? ?echo"In bar(); argument was '$arg'.\\n";
}
// 使用 echo 的包裝函數
functionechoit($string)
{
? ?echo$string;
}
$func\='foo';
$func();? ? ? ?// 調用 foo()
$func\='bar';
$func('test');?// 調用 bar()
$func\='echoit';
$func('test');?// 調用 echoit()
?>
也可以用變量函數的語法來調用一個對象的方法。
## 實例
<?php
classFoo
{
? ?functionVariable()
? ?{
? ? ? ?$name\='Bar';
? ? ? ?$this\->$name();// 調用 Bar() 方法
? ?}
? ?functionBar()
? ?{
? ? ? ?echo"This is Bar";
? ?}
}
$foo\=newFoo();
$funcname\="Variable";
$foo\->$funcname();?// 調用 $foo->Variable()
?>