2013-02-18 52 views
-1

當我轉儲變量它具有數據:PHP:FOREACH陣列不會輸出

的var_dump($結果);

object(stdClass)#2(5){[「user_id」] => string(1)「1」[「username」] => string(6)「user_name」[「email」] => string (14)「[email protected]」[「password」] => string(32)「password」[「test」] => string(1)「1」}

但是當我使用foreach沒有價值有回報,除非我只是回聲$數據;但我想具體說明我想要獲得的價值。

的foreach($結果作爲$數據){

回聲$ DATA-> use_id;

echo $ data-> username;

}

爲什麼沒有返回值?

+0

使用'echo $ data-> user_id'而不是'echo $ data-> use_id;' – 2014-03-03 15:15:44

回答

0

您不需要遍歷該對象。只要做到這一點。

echo $result->user_id; 
echo $result->username; 

隨着你提供你是治療每個屬性在$result作爲對象並尋找user_iduser_name(不存在)的樣品。

+0

只有它是真正的用戶名,而不是user_name。 user_name是值。看:[「用戶名」] =>字符串(6)「user_name」 – 2013-02-18 08:37:40

+0

謝謝。現在還不知道。 :D – Jopay 2013-02-18 08:39:33

0

正如你寫道:

var_dump($result); 
object(stdClass)#2 (5) { ["user_id"]=> string(1) "1" ["username"]=> string(6) "user_name" ["email"]=> string(14) "[email protected]" ["password"]=> string(32) "password" ["test"]=> string(1) "1" } 

所以結果是一個對象本身。所以如果你想指定和獲取確切的變量,就不需要迭代它!

+0

對不起,我還不知道。順便謝謝。 :| – Jopay 2013-02-18 08:40:56

0

試試這個:json_decode將json字符串轉換爲數組。參考文獻:http://php.net/manual/en/function.json-decode.php

$array = json_decode($result, true); 

echo "<pre>"; 
print_r($array); 

可以使用的foreach來$array和呼應的結果。