您的位置:

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

?