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この回答は、変数が 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;
于 2013-10-14T17:14:47.563 に答える
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 に答える