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

时间:2015-12-10 16:54:29

标签: php function

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

<?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

我检查了herehere以获取有关此问题的文档。后一个链接显示了如何使用我已经知道的用户定义函数执行此操作。

这种技术是否适用于任何内置的PHP函数?如果是这样,这会记录在哪里?

1 个答案:

答案 0 :(得分:0)

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