PHP 變數函式
介紹
如果變數名前面帶有括號(可以包含引數),PHP 解析器會嘗試查詢名稱與變數值對應的函式並執行它。這種函式稱為變數函式。此功能對於實現回撥、函式表等很有用。
變數函式不能與 include、require、echo 等語言結構一起構建。不過,可以使用函式包裝器找到解決方法。
變數函式示例
在下面的示例中,變數的值與函式名匹配。因此,透過在變數前面加上括號來呼叫該函式。
示例
<?php
function hello(){
echo "Hello World";
}
$var="Hello";
$var();
?>輸出
這將產生以下結果:−
Hello World
這是另一個帶引數的變數函式示例。
示例
<?php
function add($x, $y){
echo $x+$y;
}
$var="add";
$var(10,20);
?>輸出
這將產生以下結果:−
30
在下面的示例中,要呼叫的函式名由使用者輸入。
示例
<?php
function add($x, $y){
echo $x+$y;
}
function sub($x, $y){
echo $x-$y;
}
$var=readline("enter name of function: ");
$var(10,20);
?>輸出
這將產生以下結果:−
enter name of function: add 30
變數方法示例
變數函式的概念可以擴充套件到類中的方法。
示例
<?php
class myclass{
function welcome($name){
echo "Welcome $name";
}
}
$obj=new myclass();
$f="welcome";
$obj->$f("Amar");
?>輸出
這將產生以下結果:−
Welcome Amar
靜態方法也可以透過變數方法技術呼叫。
示例
<?php
class myclass{
static function welcome($name){
echo "Welcome $name";
}
}
$f="welcome";
myclass::$f("Amar");
?>輸出
這將丟擲如下異常:−
Welcome Amar
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP