是否可以在foreach
循环中使用if语句?对我来说它不起作用,我有这样的功能:
<?php
foreach($userdetail_list as $row):
?>
<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE){ ?>
<a href="<?php echo base_url() ?>/ChatboxController"><input type="button" class="btn btn-primary bs" value="Bericht sturen"></input> </a>
<?php endif; ?>
<tr>
<td><h2><?php echo $row->voornaam;?> <?php echo $row->achternaam;?></h2></td>
<td><p><?php echo $row->woonplaats;?></p></td>
<h3>Over mij:</h3><td><?php echo $row->beschrijving;?></td><br>
<h3>Contactgegevens:</h3>
<td><p><?php echo $row->email;?></p></td>
</tr>
<?php endforeach; ?>
所以我收到了这个错误:
遇到PHP错误严重性:解析错误消息:语法错误,意外'endif'(T_ENDIF)文件名:views / profiel_user.php行号:38 Backtrace:
所以它说我没有正确地结束if语句。
你需要将endif
改为}
。尝试使用此代码。您需要做的只是复制并粘贴此代码。全部完成。
<?php
foreach($userdetail_list as $row){ ?>
<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE){ ?>
<a href="<?php echo base_url() ?>/ChatboxController"><input type="button" class="btn btn-primary bs" value="Bericht sturen"></input> </a>
<?php } ?>
<tr>
<td><h2><?php echo $row->voornaam;?> <?php echo $row->achternaam;?></h2></td>
<td><p><?php echo $row->woonplaats;?></p></td>
<h3>Over mij:</h3><td><?php echo $row->beschrijving;?></td><br>
<h3>Contactgegevens:</h3>
<td><p><?php echo $row->email;?></p></td>
</tr>
<?php } ?>
这一行出错了。缺少:
....在codeigniter没有使用{
。 if condition in codeigniter please read manual
我已经解决了这个问题
<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE): ?>
如果您不想在Codeigniter中使用替代PHP语法,请遵循此示例代码
<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE){ ?>
.......
<?php } ?>
尝试下面的代码,
<?php
foreach($userdetail_list as $row){
if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE){ ?>
<a href="<?php echo base_url() ?>/ChatboxController"><input type="button" class="btn btn-primary bs" value="Bericht sturen"></input> </a>
<?php } ?>
<tr>
<td><h2><?php echo $row->voornaam;?> <?php echo $row->achternaam;?></h2></td>
<td><p><?php echo $row->woonplaats;?></p></td>
<h3>Over mij:</h3><td><?php echo $row->beschrijving;?></td><br>
<h3>Contactgegevens:</h3>
<td><p><?php echo $row->email;?></p></td>
</tr>
<?php } ?>
是的,可以在foreach循环中使用if语句。我来这里给你看一个演示:
$myData = array('Gopal'=>'Sharma','Dixit'=>'Prashant');
foreach($myData as $key=>$value){
if($key=='Gopal'){
echo "Yes <br/> We can have an if statement in a foreach loop.";
}
}
答案是肯定的。
您的问题在于您的病情的语法。用{
替换你的开口花括号:
<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE) : ?>