2014-09-05 99 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