我有一个对象,需要从这样的字符串访问属性:
requests==2.19.1
我已经尝试过类似的方法,但是它不起作用:
$string = 'items[0]->sellers[0]->commertialOffer->Price';
有什么主意吗?
答案 0 :(得分:0)
您是否在两个函数之间传递字符串?如果是,则取4个值并创建类似:-
的字符串$string = $value1.'|'.$value2.'|'.$value3.'|'.$value4 ;
然后将字符串爆炸并取回4个值。
答案 1 :(得分:0)
$items = '{"items":[{"sellers":[{"commertialOffer":{"Price":33}}]}]}';
$myObject = json_decode($items);
$string = 'items[0]->sellers[0]->commertialOffer->Price';
echo ($myObject->{'items'}[0]->{'sellers'}[0]->{'commertialOffer'}->{'Price'});
echo ($myObject->items[0]->sellers[0]->commertialOffer->Price);
$myObject->items
是一个数组,您不能像
$string = 'items[0]';
echo $myObject->{$string};
您可以使用
进行访问$string = 'items';
echo $myObject->{$string}[0];
答案 2 :(得分:-1)
您可能想修改问题,因为从字符串解释原始代码通常是一个坏主意。您可能会使用eval
函数:see。同样,这可能不是一个好主意:when is eval evil?