i bir dize kullanarak bir SimpleXML nesneye erişmek gerekir. yani.
$x->a->b = 'obj'; $s = 'a->b'; echo $x->$s;
$x->a->b = 'obj';
$s = 'a->b';
echo $x->$s;
ama çalışmak için görünmüyor ...
yardım lütfen!
:)
Eğer başvuruları kullanabilirsiniz:
$s =& $x->a->b;
ya, sen dize yaklaşım istiyorsanız, adım adım referans oluşturmak:
function getRef($base, $str) { $out = $base; $parts = explode("->", $str); foreach ($parts as $p) { $out = $out->$p; } return $out; } getRef($x, "a->b");
Hafızam beni yanıltmıyorsa eğer, bu gibi yapabilirsiniz:
echo $x->{$s};
Bu işe yaramaz. XPath kullanmaya çalışıyorsunuz?
http://www.php.net/manual/en/simplexmlelement.xpath.php