2014-09-05 97 views
0

我有一个问题。我如何从这个PHP结果中获取值?做print_r($结果);我得到如下:在对象内的数组内的stdClass对象中回显值

stdClass Object 
( 
    [offset] => 0 
    [results] => Array 
    ( 
     [0] => stdClass Object 
     ( 
      [shipping] => Kostenlose Lieferung. 
      [price] => EUR 8,03 
     ) 
     [1] => stdClass Object 
     ( 
      [seller] => Zooster 
      [shipping] => EUR 3,00 
      [price] => EUR 9,06 
     ) 
    ) 
[cookies] => Array 
    ( 
     [0] => x-wl 
     [1] => session-id-time="2082754801l" 
     [2] => session-id="2510769"; 
    ) 
[connectorVersionGuid] => lalala 
[connectorGuid] => blavla 
[pageUrl] => http://www.lala.com 

看着其他职位,我不能弄明白。我看着:How to access a property of an object (stdClass Object) member/element of an array?。这给了我一点安努尔,但在这里我有: 对象内的对象内的对象

我迷路了。我想回应卖家,运费和价格。谁可以对此有所了解?

+3

回声$ result->结果[1] - >卖家; – JimL 2014-09-05 14:04:24

+0

@JimL帖子作为回答:) – 2014-09-05 14:06:03

+0

@ʰᵈˑ没时间写出正确的答案atm – JimL 2014-09-05 14:07:23

回答

1

你也许可以通过它循环在foreach,如果$价值的错误尝试$关键

foreach($result->results as $key => $value){ 
     echo $value->shipping; 
     echo $value->price; 
    } 
2

您可以选择使用箭头语法->和数组语法[]为$结果结合对象访问属性和阵列一起

//Creating version identical to your print_r 
$s1 = new stdClass(); 
$s1->shipping = "Kostenlose Lieferung."; 
$s1->price = "EUR 8,03"; 

$s2 = new stdClass(); 
$s2->seller = "Zooster"; 
$s2->shipping = "EUR 3,00"; 
$s2->price = "EUR 9,06"; 

$result = new stdClass(); 
$result->offset = 0; 
$result->results = array($s1, $s2); 
$result->cookies = array("x-wl", "session-id-time=\"2082754801l\"", "session-id-=\"2510769\""); 
$result->connectorVersionGuid = "lalala"; 
$result->connectorGuid = "blavla"; 
$result->pageUrl = "http://www.lala.com"; 

访问特定索引的 '结果'

echo $result->results[1]->seller . "<br />"; 
echo $result->results[1]->shipping . "<br />"; 
echo $result->results[1]->price . "<br />"; 

或者遍历所有这些

foreach ($result->results as $k => $v) { 
    echo $v->seller . "<br />"; 
    echo $v->shipping . "<br />"; 
    echo $v->price . "<br />"; 
} 
+1

很好的详细解释! – 2014-09-05 14:53:39

0

假设你的类的变量$x

echo $x->results[0]->seller 

实例化这里有一个重要的警告。您的班级必须将这些设置为public,或者您需要有一个overload function__get()才能检索该值。否则,你将不得不有一个函数来获取值并返回它。

2

您可以通过访问你是后值:

$i = 0; //change or use loop 

$result->results[$i]->seller //or price, shipping etc