Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否所有PHP定义的函数都可以使用字符串操作进行更改?_Php_Function - Fatal编程技术网

是否所有PHP定义的函数都可以使用字符串操作进行更改?

是否所有PHP定义的函数都可以使用字符串操作进行更改?,php,function,Php,Function,我知道对于用户定义的函数,我可以操纵字符串来有选择地调用函数: <?php function printName() { return "Zack"; } function printAge() { return "24"; } $functionID = "Age"; $function = "print" . $functionID; echo $function();//returns 24 我查了一下,找了一些关于这个的文档。后一个链接显示了

我知道对于用户定义的函数,我可以操纵字符串来有选择地调用函数:

<?php

function printName() {
    return "Zack";  
}

function printAge() {
    return "24";    
}

$functionID = "Age";

$function = "print" . $functionID;

echo $function();//returns 24
我查了一下,找了一些关于这个的文档。后一个链接显示了如何使用我已经知道的用户定义函数实现这一点


这项技术是否适用于任何内置PHP函数?如果适用,在哪里有文档记录?我认为这将适用于任何PHP函数,无论是用户函数还是内置函数。由于脚本经过编译阶段的方式,它将尝试解析变量名,然后使用函数名进行函数调用。

对于函数,是的。。。。但不是控制结构或语言constructs@Rizier123谢谢,但这不是一个完整的列表,因为strpo和strrpos不包括在内,而且这些内置PHP函数使用字符串方法为我工作。在PHP5.4.0中,您可以调用存储在变量中的任何可调用函数。。。。试图制作一个完整的列表是毫无意义的,因为它会因包含的模块而异,etc@Mark很高兴知道…谢谢。我会再搜索一些,但如果这是有文档记录的,我还没有找到它。在工作中,我花了几天时间构建了一个脚本,它将从这项技术中受益……我只想在书面的某个地方看到,它可以用在任何PHP内置函数上。请看:PHP函数以字符串的形式通过其名称传递。可以使用任何内置或用户定义的函数,但语言构造除外,例如…我不知道是否有文档记录,但您可以使用任何示例代码调试php二进制文件,如果您了解php如何编译以创建操作码以及如何执行操作码,然后你可以说服自己,就这个问题而言,内置函数和内置函数没有区别。@Ritesh…我很感谢你的评论,但在我人手不足的工作场所,我有一大堆事情要完成,我可以避免的任何测试都会为我节省宝贵的时间time@maxhb...perfect. 谢谢但这些信息并不是显而易见的:)
<?php

$x = "r";

$string = "abbabb";

$function = "str" . $x . "pos";

echo $function($string, "a"); //outputs 3 whereas if $x = ""; output is 0