PHP使用json_解码获取json数据
我是PHP新手,尝试从json中回显一些数据,但我在这方面遇到了麻烦 它显示的不是所有的数据,但数据都在那里。PHP使用json_解码获取json数据,php,json,knockout.js,Php,Json,Knockout.js,我是PHP新手,尝试从json中回显一些数据,但我在这方面遇到了麻烦 它显示的不是所有的数据,但数据都在那里。var\u dump()向我显示了它 可能我没有正确使用数组,但我找不到哪里出了问题。我有这个密码 我请求使用knockout.js Knockout给了我一个json(如下所示) 您应该使用这样的循环: foreach ($data as $optie ) { echo "name = " . $optie['name'] . "<br>"; echo "
var\u dump()
向我显示了它
可能我没有正确使用数组,但我找不到哪里出了问题。我有这个密码
我请求使用knockout.js
Knockout给了我一个json(如下所示)
您应该使用这样的循环:
foreach ($data as $optie ) {
echo "name = " . $optie['name'] . "<br>";
echo "optie = " . $optie['optie']['optieName'] . "<br>";
echo "prijs = " . $optie['optie']['prijs']. "<br>";
}
而不是
$data = json_decode($json, true);
然后您应该使用以下循环:
foreach ($data as $optie ) {
echo "name = " . $optie->name . "<br>";
echo "optie = " . $optie->optie->optieName . "<br>";
echo "prijs = " . $optie->optie->prijs. "<br>";
}
foreach($optie形式的数据){
echo“name=”.$optie->name。“
”;
回显“optie=”.$optie->optie->optieName。“
”;
echo“prijs=”.$optie->optie->prijs。“
”;
}
您已经在您的json_decode()
上使用了true
标志,该值现在是一个数组,所以像一个数组一样访问它,您有一个拼写错误(我猜)$\u请求[座位]
(缺少引号)更正了我的第一条评论:您的$data是一个数组,而不是一个对象,因此,请以$optie['name'的形式访问值
等等,而不是$optie->name
。此外,正如我之前所说,我不理解它是如何工作的,因为$请求[座位]
应该是$请求[座位]
您将其解码为数组(在json_decode()
中设置为true
)的第二个参数,因此您必须像数组一样访问它:$optio['name']
。这是您应该执行的操作。好的,谢谢,这是我需要的,它现在可以工作了:)
$data = json_decode($json);
$data = json_decode($json, true);
foreach ($data as $optie ) {
echo "name = " . $optie->name . "<br>";
echo "optie = " . $optie->optie->optieName . "<br>";
echo "prijs = " . $optie->optie->prijs. "<br>";
}