Foreach带有if(空)语句

问题描述 投票:1回答:5

所以我有一个有多个类别的网站,我使用foreach从数据库中提取列表。如果数据库没有任何返回的东西,我试图在视图中显示Nothing Returned。

风景

<?php foreach ($posts as $post): { ?>

<?php if(empty($post['title'])){
   echo "Nothing found";
}else{?>

<html> 
<body> 

  <?php echo $post['title'];?>
 <?php echo $post['style'];

 </body>
 </html>                        

        <?php } ?>                       

<?php }endforeach; ?>

因此,如果我放if(!empty())似乎相反

我对CodeIgniter仍然有点新鲜,很抱歉,如果这是一个基本问题。

php codeigniter codeigniter-3
5个回答
1
投票

做这样的事情:

if (empty($posts)) {
    echo "Nothing returned.";
} else {
    foreach($posts as $post) {
        // Display each post
    }
}

首先尝试检查我们是否在qazxsw poi中有任何内容然后尝试使用qazxsw poi进行迭代。


0
投票

如果var存在并且具有非空的非零值,则empty()返回FALSE。否则返回TRUE。

所以,如果你想执行语句echo“Nothing found”;然后你必须使用!empty()或者你也可以使用isset()函数。如果将值设置为变量,则isset()将返回True。

$posts


0
投票

尝试使用foreach函数与see details条件

如果你使用冒号isset()然后不要使用大括号not(!):循环

{}

0
投票

只是运行你的代码 - 你在'style'行的末尾错过了一个结束的php标记:

foreach

或者,您可以按如下方式压缩一些东西:

if(isset($posts) && count($posts) > 0){
foreach ($posts as $post){ 

if(!isset($post['title'])){
   echo "Nothing found";
}else{?>

    <html> 
    <body> 

    <?= $post['title'] ?>
    <?= $post['style'] ?>

    </body>
    </html>                        

<?php } } }else{ echo 'No record found';}?>

0
投票
<?php echo $post['style']; ?>
© www.soinside.com 2019 - 2024. All rights reserved.