php調用函數名
『壹』 php 的類內如何使用動態函數名
PHP 中的 $$ 符號可以實現,意思是正常的PHP變數前綴再加上$符號,就可以把原來的變數當作變數名。
例如:
<?php
//定義一個變數
$name = '';
//定義一個動態變數
$$name = 'new';
echo $$name;
echo '<br>';
echo $;
//上面的定義等同於下面的定義
$ = 'new';
echo $;
?>
『貳』 PHP里如何獲取函數的調用者名稱
先放上來別人的例子吧:
call_user_func函數類似於一種特別的調用函數的方法,使用方法如下:
復制代碼 代碼如下:
function a($b,$c)
{
echo $b;
echo $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");
//顯示 111 222 333 444
?>
調用類內部的方法比較奇怪,居然用的是array,不知道開發者是如何考慮的,當然省去了new,也是滿有新意的:
復制代碼 代碼如下:
class a {
function b($c)
{
echo $c;
}
}
call_user_func(array("a", "b"),"111");
//顯示 111
?>
call_user_func_array函數和call_user_func很相似,只不過是換了一種方式傳遞了參數,讓參數的結構更清晰:
復制代碼 代碼如下:
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//顯示 111 222
?>
call_user_func_array函數也可以調用類內部的方法的
復制代碼 代碼如下:
Class ClassA
{
function bc($b, $c) {
$bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//顯示 333
?>
call_user_func函數和call_user_func_array函數都支持引用,這讓他們和普通的函數調用更趨於功能一致:
復制代碼 代碼如下:
function a($b)
{
$b++;
}
$c = 0;
call_user_func('a', $c);
echo $c;//顯示 1
call_user_func_array('a', array($c));
echo $c;//顯示 2
另:call_user_func函數和call_user_func_array函數都支持引用。
復制代碼 代碼如下:
<?php
function increment(&$var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>
『叄』 php中如何調用其他頁面中的函數
php中可以把函數名通過字元串的方式傳遞給一個變數,然後通過此變數動態調用函數
下面是一個簡單的動態函數調用範例
<html>
<head>
<title>Dynamic
Function
Calls</title>
</head>
<body>
<?php
function
sayHello()
{
echo
"Hello<br
/>";
}
$function_holder
=
"sayHello";
$function_holder();
?>
</body>
</html>
『肆』 php如何調用函數
PHP函數調用與Java/C/C++是一樣的額,通過函數名(參數列表)就可以了,
舉個栗子:
圖中,有兩處函數調用,一開始的session_start()是調用的PHP函數,validate_user($username, $password)是用戶自定義函數,同樣的方式調用。
『伍』 什麼是PHP的函數
PHP 用戶定義函數
除了內建的 PHP 函數,我們可以創建我們自己的函數。
函數是可以在程序中重復使用的語句塊。
頁面載入時函數不會立即執行。
函數只有在被調用時才會執行。
在 PHP 創建用戶定義函數
用戶定義的函數聲明以關單 "function" 開頭:
語法
function functionName() {
被執行的代碼;
}
注釋:函數名能夠以字母或下劃線開頭(而非數字)。
注釋:函數名對大小寫不敏感。
提示:函數名應該能夠反映函數所執行的任務。
在下面的例子中,我們創建名為 "writeMsg()" 的函數。打開的花括弧({)指示函數代碼的開始,而關閉的花括弧(})指示函數的結束。此函數輸出 "Hello world!"。如需調用該函數,只要使用函數名即可:
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 調用函數
?>
PHP 函數參數
可以通過參數向函數傳遞信息。參數類似變數。
參數被定義在函數名之後,括弧內部。您可以添加任意多參數,只要用逗號隔開即可。
下面的例子中的函數有一個參數($fname)。當調用 familyName() 函數時,我們同時要傳遞一個名字(例如 Bill),這樣會輸出不同的名字,但是姓氏相同:
<?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
?>
下面的例子中的函數有兩個參數($fname 和 $year):
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>
PHP 默認參數值
下面的例子展示了如何使用默認參數。如果我們調用沒有參數的 setHeight() 函數,它的參數會取默認值:
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 將使用默認值 50
setHeight(135);
setHeight(80);
?>
PHP 函數 - 返回值
如需使函數返回值,請使用 return 語句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>
『陸』 PHP中自定義的 function如何調用
functionfunction_tool(參數){
函數代碼
}
調用方法:
function_tool(參數)
『柒』 PHP函數名帶變數,怎麼調用的
PHP是解釋語言,可以調用變數名、表達式名的函數,例如:
$a='base64' . '_decode';
echo $a('abc');
『捌』 PHP 函數代理調用
$args是參數數組,$args[0]就是第一個參數,這里把第一個參數作為函數名。
具體例子比如說這一句:
say('sayChinese', '我是','中國人'); //這里調用了函數say
function say() {
$args = func_get_args(); // 參數數組就是('sayChinese', '我是','中國人')
call_user_func_array($args[0], $args);
// 這個$args[0]就是'sayChinese',作為函數名,後面的'我是','中國人'作為參數傳給函數'sayChinese'
}
『玖』 php 怎麼獲取當前函數名稱
使用__FUNCTION__
function test()
{
echo __FUNCTION__; // test
}
test();