php - 防止 PHP 打印空数组结果?

标签 php mysql

如果第一个结果为空,我无法让我的 PHP 脚本回显第二个 else 语句。

我的脚本目前的工作方式是“打印地址(来自另一个数组)> 列出评论”,但是即使地址的评论为空,也将打印评论或什么都不打印,我无法让脚本回显这个词“没有意见”。

if(!empty($row['id']))
        {
        echo "$row[comment]<br/>";
        }
        else
        {
            echo "no comment<br/>";
        }

感谢任何帮助。谢谢。

最佳答案

假设这来自数据库并且每一行都有一个 id,这将始终为真:

if(!empty($row['id']))

尝试:

if(!empty($row['comment']))

如果 id 是其他东西,同样的逻辑适用:检查你打算打印的值:

if (!empty($row['id']) && !empty($row['comment']))
{
    echo $row['comment'].'<br/>';
}
else
{
    echo "no comment<br/>";
}

编辑:如果此代码循环遍历附加到帖子或其他内容的所有评论,则如果没有要循环的没有评论,则永远不会有任何输出。在那种情况下尝试这样的事情:

if (count($comments) === 0)
{
    echo "no comments<br />";
}
else
{
    foreach ($comments as $row)
    {
        if (!empty($row['comment']))
        {
            echo $row['comment'].'<br />';
        }
        else
        {
            echo "no comment<br />";
        }
    }
}

或者:

$comment_count = 0;

foreach ($comments as $row)
{
    if (!empty($row['comment']))
    {
        echo $row['comment'].'<br />';
        $comment_count++; // We have at least one comment
    }
    else
    {
        echo "no comment<br />";
    }
}

if ($comment_count === 0) echo 'no comments<br />';

关于php - 防止 PHP 打印空数组结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706109/

相关文章:

php - 在 PHP 中添加时间

php - MYSQL SELECT 如何知道有没有被选中

php - 通过Android App注册时Mysql查询出错

php - MySQL 从按项目分组的表中选择用户列表,按小时数降序列出

php - 如何在codeigniter中使用not Between子句

php - 上传文件,表格中的表格

php - 根据距离范围计算速率

javascript - 如何自动更新输出

mysql - #1067 - 'remember_token' 的默认值无效

MySQL:使用 DATETIME 作为主键