如何使用字符串访问对象(simpleXML)变量名?

时间:2010-05-08 13:08:25

标签: php object

我需要使用字符串访问simplexml对象。即

$x->a->b = 'obj'; $s = 'a->b'; echo $x->$s;

但它似乎不起作用......

请帮忙!

:)

3 个答案:

答案 0 :(得分:4)

如果我的记忆能为我服务,你可以这样做:

echo $x->{$s};

答案 1 :(得分:1)

你可以使用引用:

$s =& $x->a->b;

或者,如果您想要字符串方法,请逐步构建参考:

function getRef($base, $str) {
    $out = $base;
    $parts = explode("->", $str);

    foreach ($parts as $p) {
        $out = $out->$p;
    }

    return $out;
}

getRef($x, "a->b");

答案 2 :(得分:0)

那不行。您是否尝试使用xpath?

http://www.php.net/manual/en/simplexmlelement.xpath.php