2

我一直在与以下代码和变体作斗争,但无法提出任何可行的方法。这个想法是我检测变量$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

任何帮助,将不胜感激。

谢谢。

4

3 回答 3

1

您可以在 if 语句之前尝试此操作:

<?php $largeimg6 = $largeimg6 != '' ? $largeimg6 : $defaultimage; ?>

比较!= ''可能会根据您的需要更改为isset(), strlen(), is_null()(如 Ville Rouhiainen 所建议的)或其他。

于 2013-10-14T16:56:26.697 回答
1

您可以使用替代方法(并按照已经建议的方式进行修剪):

$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

于 2013-10-14T16:58:54.997 回答
1

Solution

This answer assumes that you have a variable $largeimg6 which is either going to be set to a url or be empty.

That being the case it's a fairly simple fix. You need to remove the if statement entirely and replace your:

<?php echo $largeimg6; ?>

with:

<?php echo (empty($largeimg6)) ? '/default/image.jpg' : $largeimg6; ?>

Explanation

The above is equivalent to:

if(empty($largeimg6)){
    echo '/default/image.jpg';
}
else{
    echo $largeimg6;
}

But in the form:

(IF) ? THEN : ELSE;
于 2013-10-14T17:14:47.563 回答