因此,我试图通过将json文件调用到我的php中来显示网站上的JSON文件中的图像,但我收到此通知“数组到字符串转换”。关于如何解决此问题的任何想法?
JSON
[
{
"name" : "match numbers 1",
"template" : "matching",
"data" : [
[
"one",
"Images/Number1.jpg"
],
[
"four",
"Images/Number4.jpg"
],
[
"nine",
"Images/Number9.jpg"
]
]
},
{
"name" : "match numbers 2",
"template" : "matching",
"data" : [
[
"six",
"Images/Number6.jpg"
],
[
"eight",
"Images/Number8.jpg"
],
[
"nine",
"Images/Number9.jpg"
]
]
}
]
php代码
<?php
$json_var = file_get_contents("template.json");
$json_var = json_decode($json_var, true);
foreach($json_var as $value)
{
printf($value["name"]);
printf($value["template"]);
printf('<img src="'.$value["data"].'" />');
}
?>
答案 0 :(得分:2)
因为$ value [“ data”]是数组,所以您可以迭代并获取所有图像
<?php
$json_var = file_get_contents("template.json");
$json_var = json_decode($json_var, true);
foreach($json_var as $value)
{
printf($value["name"]);
printf($value["template"]);
foreach($value["data"] as $val){
printf('<img src="'.$val[1].'" />'); //$val is also array, i assumed second is image url
}
}
?>
答案 1 :(得分:0)
由于您的$ value [“ data”]是一个数组,因此发生“数组到字符串转换” 错误。您还将需要遍历该数组。这样的事情。
<?php
$json_var = file_get_contents("template.json");
$json_var = json_decode($json_var, true);
foreach($json_var as $value)
{
printf($value["name"]);
printf($value["template"]);
foreach($value["data"] as $data){
printf('<img src="'.$data[1].'" />'); //<- I assume this index
}
}
?>
每当我看到讨厌的数组到字符串的转换。 var_dump
是我最好的调试格式的朋友。