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


Are all PHP-defined functions alterable using string manipulation?

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

<?php
function printName() {
    return "Zack";  
}
function printAge() {
    return "24";    
}
$functionID = "Age";
$function = "print" . $functionID;
echo $function();//returns 24

我没有意识到你可以用内置的PHP函数做到这一点。。。我刚刚用strposstrrpos:尝试过

<?php
$x = "r";
$string = "abbabb";
$function = "str" . $x . "pos";
echo $function($string, "a"); //outputs 3 whereas if $x = ""; output is 0

我在这里和这里查看了有关这方面的文档。后一个链接展示了如何使用我已经知道的用户定义函数来实现这一点。

这项技术适用于任何内置的PHP函数吗?如果适用,它的文档在哪里?

我认为这将适用于任何php函数,无论是用户函数还是内置函数。因为脚本经过编译阶段的方式,它将尝试解析变量名,然后使用函数名进行函数调用。