-1

次のコードがあり、両方の画像が条件外にある場合は表示されますが、条件内に置いた瞬間は機能しません。私は何を間違っていますか?私はYIIフレームワークを使用しています...

<?php if ($avatar) { ?>
<img src="<?php echo $avatar; ?>" class="avatar" alt="" />
<?php } else { ?>
<img src="<?php echo Yii::app()->theme->baseUrl; ?>/images/no-image.jpg" width="186px" class="avatar" alt="" />
<?php } ?> 
4

1 に答える 1

1

if ($avatar)$avatar が定義されている (つまり存在する) かどうかを尋ねます。

$avatar が定義されている場合<img src="<?php echo $avatar; ?>" class="avatar" alt="" /> は表示されます。

$avatar が定義されていない場合、警告が表示されますNotice: Undefined variable: avatar

次のコードでは、PHP 関数isset()を使用しています(Cole Johnson の指摘による)。

<?php 
$flag = 0;
//Try commenting out line below to illustrate
$avatar =1;
if (isset($avatar)) {
$flag =1;
}
if ($flag == 1){
 ?>
 <img src="<?php echo $avatar; ?>" class="avatar" alt="" />
<?php } 
else { ?>
<img src="<?php echo Yii::app()->theme; ?>/images/no-image.jpg" width="186px" class="avatar" alt="" />
<?php 
} ?> 
于 2012-11-29T17:28:42.060 に答える