我一直在与以下代码和变体作斗争,但无法想出任何有效的方法。这个想法是,我检测变量$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
任何帮助将不胜感激。
谢谢。
您可以在 if 语句之前尝试此操作:
<?php $largeimg6 = $largeimg6 != '' ? $largeimg6 : $defaultimage; ?>
!= ''
比较可能会根据您需要isset()
、strlen()
、is_null()
(如Ville Rouhiainen建议)或其他任何内容进行更改。
您可以使用替代方法(并按照已经建议的方式进行修剪):
$largeimg6 = trim($largeimg6);
if (isset($largeimg6)&&strlen($largeimg6)>0)
但是通过过滤 URL,您可能会做得更好:
$largeimg6 = trim($largeimg6);
if(filter_var($largeimg6, FILTER_VALIDATE_URL))
更多信息: http://php.net/manual/es/book.filter.php
解决方案
这个答案假设你有一个变量$largeimg6
要么要设置为 url,要么为空。
在这种情况下,这是一个相当简单的修复。您需要完全删除 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;