【问题标题】:use variable in chained method usage在链式方法使用中使用变量
【发布时间】:2014-01-10 10:51:43
【问题描述】:
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key]['field_test'] = $wrapper ->field_test ->value();

上面的代码工作正常,但如果我用变量替换链式属性,它就不起作用了。

$field_name = 'myfield';
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key][$field_name] = $wrapper ->$field_name ->value();

错误:'PHP 错误:函数名必须是字符串'

我该如何解决这个问题?谢谢

【问题讨论】:

    标签: php oop chained


    【解决方案1】:

    改变:

    $data[$key][$field_name] = $wrapper->$field_name->value();
    

    $data[$key][$field_name] = $wrapper->{$field_name}->value();
    

    见::Curly Syntax

    【讨论】:

    • 谢谢!在阅读了您的回答后,我再次尝试了。令人惊讶的是,这一次它可以工作,即使没有花括号。它必须是其他东西使它以前无法工作。问题解决了。
    • @benson 如果它解决了您的问题,您可以将其标记为已接受的答案.. .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多