php獲取函數名,php所有函數

本文目錄一覽:

php有沒有辦法獲取函數的參數名

可以哦,使用 Reflection 反射函數,例子:

function a($b, $c)

{

    return $b.$c;

}

$reflection = new \ReflectionFunction(‘a’);

$parameters = $reflection-getParameters();

foreach ($parameters as $parameter) {

    echo $parameter-name;

    echo ‘br’;

}

輸出 b , a

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怎麼獲取父函數名

函數是沒有父子關係的,所以無法獲取父函數名。

對象具有父子關係,但是方法名稱和父類的方法名稱必然是同名的。

另一種可能是你想問誰調用的當前函數,可以打印堆棧信息。print_r(debug_backtrace());

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

/**

 * 獲取一個函數的依賴

 * @param  string|callable $func

 * @param  array  $param 調用方法時所需參數 形參名就是key值

 * @return array  返回方法調用所需依賴

 */

function getFucntionParameter($func,$param=[]) {

    if(!is_array($param)) {

        $param = [$param];

    }

    $ReflectionFunc = new \ReflectionFunction($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)) {

                throw new \Exception(“Function parameters can not be getClass {$class}”);

            }

            $depend[] = $this-get($tmp-getName());

        }

    }

    return $depend;

}

function test($a,$b=20) {

    echo $a,’,’,$b;

}

$depend = getFucntionParameter(‘test’,[‘a’=30,’b’=40]);

call_user_func_array(‘test’,$depend); // 30,40

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

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

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);

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/206965.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-08 14:19
下一篇 2024-12-08 14:19

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論