-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 回答