有一根像
12345.find_user.find_last_name如何在charachter "."中拆分,并将其转换为函数调用:
find_last_name(find_user(12345));因此,on....could是N元素(n-函数要运行)....how,我是否也有效地、性能地执行了这一操作?
编辑,以下是基于您的回复的解决方案
谢谢高拉夫的大力帮助。以下是基于您的完整解决方案:
我用foreach保护if(function_exists($function)){,以保护整个事件不受致命的php错误的影响,并添加了一个完整的示例:
$mystring = '12345.find_user.find_last_name';
convert_string_to_functions($mystring);
function convert_string_to_functions($mystring){
$functions = explode('.', $mystring);
$arg = array_shift($functions);
foreach($functions as $function){
if(function_exists($function)){
$arg = $function($arg);
} else {
echo 'Function '.$function.' Not found';
}
}
echo $arg;
}
function find_last_name($mystring=''){
return $mystring.' i am function find_last_name';
}
function find_user($mystring=''){
return $mystring.' i am function find_user';
}发布于 2012-01-17 10:09:48
$string = '12345.find_user.find_last_name';
$functions = explode('.', $string);
$arg = array_shift($functions);
foreach($functions as $function){
$arg = $function($arg);
}
echo $arg;https://stackoverflow.com/questions/8892729
复制相似问题