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和呼应的结果。