未定义的偏移量 0,2 个不同的项目



我正在使用一个为我提供一些信息的外部 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.

最新更新