我正在使用一个为我提供一些信息的外部 API,
这些信息有一些物品,让我有一个背包,而另一些则没有。
这是 json 响应的一个示例:
带背包
"featured": [
{
"id": "CID_641_Athena_Commando_M_SweaterWeather",
"name": "Rodolfo",
"price": 1200,
"image": "$$$URL$$$",
"otherItemsDetails": [
{
"name": "Guirlanda Explosiva",
"images": {
"icon": "$$$URL$$$",}
}
]
},
不带背包
{
"id": "Pickaxe_ID_137_NutCracker",
"name": "Globo de Neve",
"price": 800,
"image": "$$$URL$$$",
"otherItemsDetails": []
},
所以我目前正在使用 foreach
$backpack = $item['otherItemsDetails'][0]['images']['icon'];
和
<?php
if(isset($backpack)){
echo "<img height='50' width='50' src='$backpack;' class='sec'>";
}
else{
}
?>
但它一直给我"未定义的偏移量:0"。
谢谢!
你的数组似乎没问题。也许问题出在你的PHP代码中。
错误Undefined offset: 0
意味着您的数组($item['otherItemsDetails']
(没有索引为 0 的项目,就像没有背包的代码一样。您可以创建一个条件来验证数组上是否存在索引,从而解决此问题:
if(isset($item['otherItemsDetails'][0])) {
// code
}
您还可以使用黑客,例如:
echo @$item['otherItemsDetails'][0];
// will return a empty string if doesn't exists.