導航:首頁 > 編程語言 > php獲取函數名

php獲取函數名

發布時間:2022-10-07 20:49:47

『壹』 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 函數,我們可以創建我們自己的函數。

函數是可以在程序中重復使用的語句塊。

頁面載入時函數不會立即執行。

函數只有在被調用時才會執行。

在 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如何調用函數

PHP函數調用與Java/C/C++是一樣的額,通過函數名(參數列表)就可以了,

舉個栗子:

圖中,有兩處函數調用,一開始的session_start()是調用的PHP函數,validate_user($username, $password)是用戶自定義函數,同樣的方式調用。

『肆』 php有沒有什麼函數可以獲取一個方法中的參數名和參數類型的

/**
*獲取一個函數的依賴
*@paramstring|callable$func
*@paramarray$param調用方法時所需參數形參名就是key值
*@returnarray返回方法調用所需依賴
*/
functiongetFucntionParameter($func,$param=[]){
if(!is_array($param)){
$param=[$param];
}
$ReflectionFunc=newReflectionFunction($func);
$depend=array();
foreach($ReflectionFunc->getParameters()as$value){
if(isset($param[$value->name])){
$depend[]=$param[$value->name];
}elseif($value->isDefaultValueAvailable()){
$depend[]=$value->getDefaultValue();
}else{
$tmp=$value->getClass();
if(is_null($tmp)){
thrownewException("{$class}");
}
$depend[]=$this->get($tmp->getName());
}
}
return$depend;
}


functiontest($a,$b=20){
echo$a,',',$b;
}

$depend=getFucntionParameter('test',['a'=>30,'b'=>40]);

call_user_func_array('test',$depend);//30,40

上面的函數是我開發的框架的容器的方法。

php提供了很完整的反射機制。不但可以反射函數,還可以反射方法,反射類構造函數。

『伍』 PHP 的類內如何使用動態函數名

PHP 中的 $$ 符號可以實現,意思是正常的PHP變數前綴再加上$符號,就可以把原來的變數當作變數名。

例如:
<?php
//定義一個變數
$name = '';

//定義一個動態變數
$$name = 'new';

echo $$name;
echo '<br>';
echo $;

//上面的定義等同於下面的定義
$ = 'new';

echo $;
?>

『陸』 php里如何在函數中獲取調用此函數的當前文件名

用這個神器__FUNCTION__

『柒』 PHP數組迭代循環函數名

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。

第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變數 $key。
自PHP 5 起,還可能遍歷對象。

『捌』 php怎麼獲取父函數名

函數是沒有父子關系的,所以無法獲取父函數名。
對象具有父子關系,但是方法名稱和父類的方法名稱必然是同名的。
另一種可能是你想問誰調用的當前函數,可以列印堆棧信息。print_r(debug_backtrace());

『玖』 php中content 函數怎麼用

PHP 目前沒有content這個系統函數,這個函數應該是自定義函數,可以在相關的項目下搜索一下。
名字類似於content的PHP系統函數有 file_get_contents,以及file_put_contents。
PHP 可以自定義函數,比如:
<?php
//my_function為函數的名字,$arg_1,$arg_2為函數的參數,echo $arg_1.$arg_2;為函數的要處理的代碼
function my_function($arg_1,$arg_2){

echo $arg_1.$arg_2;
}
?>
函數名和 PHP 中的其它標識符命名規則相同。有效的函數名以字母或下劃線打頭,後面跟字母,數字或下劃線。

閱讀全文

與php獲取函數名相關的資料

熱點內容
怎麼在電腦上編譯成功 瀏覽:214
單片機可調時鍾設計方案 瀏覽:192
qq文件夾密碼忘記怎麼找回 瀏覽:683
php擴展插件 瀏覽:607
解壓視頻廁所抽紙 瀏覽:952
app減脂怎麼用 瀏覽:452
pythonwebpdf 瀏覽:639
單片機的功能模塊 瀏覽:771
安卓手機如何錄制視頻長時間 瀏覽:285
安全問題app哪個好 瀏覽:445
壓縮水會變冰嗎 瀏覽:526
小說配音app哪個靠譜 瀏覽:820
編譯iso 瀏覽:944
照片生成pdf格式 瀏覽:194
病歷轉pdf 瀏覽:835
雲伺服器配硬體 瀏覽:978
伺服器10k什麼意思 瀏覽:21
pdfeditor漢化 瀏覽:884
新科學pdf 瀏覽:748
現在還有c語言編譯嗎 瀏覽:676