Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果主映像不可用,请获取另一个映像_Php_Api - Fatal编程技术网

Php 如果主映像不可用,请获取另一个映像

Php 如果主映像不可用,请获取另一个映像,php,api,Php,Api,我有一个API,它返回一些带有图像链接的数据。 问题是有一种图像是主要的,但并不总是可用的。 当这种情况发生时,我希望另一个图像出现,但它也在API中 原料药提取物 "images": { "icon": "https://image.fnbr.co/outfit/5c2aad8560e93a37d9635605/icon.png", // secondary "png": false, "gallery": false,

我有一个API,它返回一些带有图像链接的数据。 问题是有一种图像是主要的,但并不总是可用的。 当这种情况发生时,我希望另一个图像出现,但它也在API中

原料药提取物

"images": {
            "icon": "https://image.fnbr.co/outfit/5c2aad8560e93a37d9635605/icon.png", // secondary
            "png": false,
            "gallery": false,
            "featured": 
       "https://image.fnbr.co/outfit/5c2aad8560e93a37d9635605/featured.png" // main
 }
我尝试了标签“onerror”,但因为它不是一个错误(因为它说null),所以它不会替换图像

PHP代码

<img src="<?php echo $image_data['data']['featured'][$i]['images'] 
['featured'] ?>";>
“;>

您需要检查主图像是否为空:

$images = ...; // your current image object 
$image = ($images['featured'] !== null) ? $images['featured'] : $images['icon']; // featured or icon image
$img=$image\u data['data']['featured'][$i]['images']['featured'];
$alternativ=$image_data['data']['featured'][$i]['images']['icon'];
";>
或检查空值

<img src="<?php echo ($img === NULL) ? $alternativ:$img ?>";>
“;>

你可以用一个简单的IF语句来解决这个问题。我添加了它,但得到了一个错误500。我不知道是否可以做些什么,但我可以根据对象的类型更改类。例如,

<img src="<?php echo ($img === NULL) ? $alternativ:$img ?>";>