我一直在与以下代码和变体进行斗争,但未能提出任何有效的方法。我的想法是检测变量$largeimg6
(图像的URL)是否为空(是否已加载图像),如果没有,则加载默认变量的值($defaultimage
)保存默认图像的URL ..
<?php if(!empty($largeimg6)) : ?>
<img class="rpPicture" id="rpPicture<?php echo $key; ?>" onload="showPicture(this, <?php echo SHOW_PICTURES; ?>)" width="60" height="60" src="<?php echo $largeimg6; ?>" alt="Buy CD!" title="Buy CD!" />
<?php endif; ?>
问题在于我不知道在哪里添加$largeimg6
为空的争论因此添加:
$largeimg6 = $defaultimage
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:1)
您可以在if语句之前尝试:
<?php $largeimg6 = $largeimg6 != '' ? $largeimg6 : $defaultimage; ?>
!= ''
比较可能会根据您对isset()
,strlen()
,is_null()
的需求而变化(如Ville Rouhiainen建议的那样)或其他。
答案 1 :(得分:1)
您可以使用替代方案(并按照建议修剪):
$largeimg6 = trim($largeimg6);
if (isset($largeimg6)&&strlen($largeimg6)>0)
但你可能会通过过滤网址来做得更好:
$largeimg6 = trim($largeimg6);
if(filter_var($largeimg6, FILTER_VALIDATE_URL))
答案 2 :(得分:1)
此答案假设您有一个变量$largeimg6
,该变量将设置为网址或empty。
在这种情况下,这是一个相当简单的修复。您需要完全删除if
语句并替换您的:
<?php echo $largeimg6; ?>
使用:
<?php echo (empty($largeimg6)) ? '/default/image.jpg' : $largeimg6; ?>
以上相当于:
if(empty($largeimg6)){
echo '/default/image.jpg';
}
else{
echo $largeimg6;
}
但形式如下:
(IF) ? THEN : ELSE;