echo数组空值

时间:2016-07-07 09:35:20

标签: php arrays

我是PHP的新手,我知道这很容易,但仍无法找到解决方案。

我有一个包含4个不同图像的数组,我想回应结果 所以我的HTML看起来像这样:

<img src="<?php echo $results['image1']?>" >
<img src="<?php echo $results['image2']?>" >
<img src="<?php echo $results['image3']?>" >
<img src="<?php echo $results['image4']?>" >

但是如果例如image4为null呢? - 我不想回应整体     <img src>标记行

我该怎么办? 谢谢?

3 个答案:

答案 0 :(得分:1)

<?php if(isset($results['image1']) && !empty($results['image1'])){ ?><img src="<?php echo htmlspecialchars($results['image1']}; ?>" ><?php } ?>
<?php if(isset($results['image2']) && !empty($results['image2'])){ ?><img src="<?php echo htmlspecialchars($results['image2']}; ?>" ><?php } ?>
<?php if(isset($results['image3']) && !empty($results['image3'])){ ?><img src="<?php echo htmlspecialchars($results['image3']}; ?>" ><?php } ?>
<?php if(isset($results['image4']) && !empty($results['image4'])){ ?><img src="<?php echo htmlspecialchars($results['image4']}; ?>" ><?php } ?>

答案 1 :(得分:1)

以下是您的工作示例。

<?php
if(!empty($results['image1'])) echo '<img src="'.$results['image1'].'">';
if(!empty($results['image2'])) echo '<img src="'.$results['image2'].'">';
if(!empty($results['image3'])) echo '<img src="'.$results['image3'].'">';
if(!empty($results['image4'])) echo '<img src="'.$results['image4'].'">';
?>

尝试此代码可能对您有所帮助。在这里我先检查结果是否为空。

答案 2 :(得分:0)

<?if(isset($results['image1']) && $results['image1'] != ""){?><img src="<?=$results['image1']?>" ><?}?>

使用此功能,您可以检查图像是否已设置。为你的每个图像做这件事你应该没事。
isset不是必需的,但有些设置的php会在没有它的情况下发出警告。因此,使用它是更好的做法。

如果您不想要所有短标签,请按照以下步骤操作:

if(isset($results['image1']) && $results['image1'] != ""){echo "<img src='{$results['image1']}' >"; }

这应该是你能做的最高级的。 "x{$variable}y"的工作方式与"x".$variable."y"类似,但如果您愿意,则更容易编写/阅读。