当我转储变量时,它有一个数据:
的var_dump($结果);
object(stdClass)#2(5){[“user_id”] => string(1)“1”[“username”] => string(6)“user_name”[“email”] => string(14)“test@mail.com”[“password”] => string(32)“password”[“test”] => string(1)“1”}
但是当我使用foreach时,没有值返回,除非我只是回显$ data;但我想具体到我想要的价值。
foreach($ result as $ data){
echo $ data-> use_id;
echo $ data-> username;
}
为什么没有返回值?
答案 0 :(得分:0)
您无需迭代对象。就这样做。
echo $result->user_id;
echo $result->username;
根据您提供的示例,您将$result
中的每个属性视为对象,并查找user_id
和user_name
(不存在)。
答案 1 :(得分:0)
正如你所写:
var_dump($result);
object(stdClass)#2 (5) { ["user_id"]=> string(1) "1" ["username"]=> string(6) "user_name" ["email"]=> string(14) "test@mail.com" ["password"]=> string(32) "password" ["test"]=> string(1) "1" }
所以结果就是一个对象本身。所以如果你想要指定和获取精确变量,就没有必要迭代它了!
答案 2 :(得分: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
并回显结果。