导航:首页 > 编程语言 > 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获取函数名相关的资料

热点内容
为什么软件需要服务器 浏览:61
redis操作命令大全 浏览:597
python字符串重复索引 浏览:959
为什么香信新版本连接不上服务器 浏览:46
元旦程序员打羽毛球 浏览:612
otc焊接机器人离线编程教学 浏览:410
51单片机的ea引脚有何用途 浏览:205
centos查看用户命令 浏览:838
程序员脸胖 浏览:744
hdfs在主目录下创建文件夹 浏览:798
股票选股器源码公式如何弄 浏览:31
服务器如何使用在微信上 浏览:326
app登不了是怎么回事 浏览:252
dd命令u盘 浏览:568
单片机生日快乐程序 浏览:891
安卓手机连车载的叫什么 浏览:223
怎么让自己的手机键盘变得好看app 浏览:53
能看qq的文件夹 浏览:515
android二维码生成代码 浏览:567
焦炉气压缩机 浏览:402