首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP字符串/函数:将字符串转换为函数链

PHP字符串/函数:将字符串转换为函数链
EN

Stack Overflow用户
提问于 2012-01-17 10:05:37
回答 1查看 147关注 0票数 2

有一根像

代码语言:javascript
复制
12345.find_user.find_last_name

如何在charachter "."中拆分,并将其转换为函数调用:

代码语言:javascript
复制
find_last_name(find_user(12345));

因此,on....could是N元素(n-函数要运行)....how,我是否也有效地、性能地执行了这一操作?

编辑,以下是基于您的回复的解决方案

谢谢高拉夫的大力帮助。以下是基于您的完整解决方案:

我用foreach保护if(function_exists($function)){,以保护整个事件不受致命的php错误的影响,并添加了一个完整的示例:

代码语言:javascript
复制
$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';

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-17 10:09:48

代码语言:javascript
复制
$string =  '12345.find_user.find_last_name';
$functions = explode('.', $string);
$arg = array_shift($functions);
foreach($functions as $function){
    $arg = $function($arg);
}

echo $arg;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8892729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档