是否有可能在PHP的foreach循环中有一个if函数

时间:2017-12-20 11:19:06

标签: php codeigniter if-statement foreach codeigniter-3

是否可以在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       回溯:

所以它说我没有正确地结束if语句。

6 个答案:

答案 0 :(得分:5)

只需使用10.10.x.x/16右括号<select>

}

您没有使用endif;

php.net获取更多详细信息,以检查这些语法的工作原理。

答案 1 :(得分:0)

这行错误。缺少: ....在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 } ?>

答案 2 :(得分:0)

您需要将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 }  ?>

答案 3 :(得分:0)

尝试以下代码,

<?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 } ?>

答案 4 :(得分:0)

是的,可以在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.";
    }
}

答案 5 :(得分:0)

答案是肯定的。

您的问题在于您的病情的语法。用{

替换开口大括号:

<?php if (isset($_SESSION['user_logged']) && $_SESSION['user_logged']=! TRUE) : ?>

请参阅PHP's Alternative syntax for control structures