php - 在最后两个数据库之间添加 "and"导致 foreach 循环

标签 php mysql laravel-5.4

我想在最后两个 MySQL 结果之间添加单词“and”。我可以添加逗号,但我需要在前两个之间添加逗号,然后在最后两个之间添加“和”。

这是我使用的代码:

        $not_first = false;

        foreach($solos as $solo)
        {
            if ($not_first)
            {
                echo ', ';
            }
            $not_first = true;

            echo $solo->id;
        }

我可以回显“and”而不是逗号。但如果我有 3 个或更多结果,它会说“结果和结果以及结果和结果”。我希望它说“结果、结果、结果和结果”。

有什么想法吗?

最佳答案

尝试使用下一个想法

if (count($solos) > 2) {
    $last = array_pop($solos);
    echo implode(', ', $solos) . ' and ' . $last;
}
else
{
    echo implode(' and ', $solos);
}

关于php - 在最后两个数据库之间添加 "and"导致 foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43430491/

相关文章:

php - 来自PHP CLI的Google Analytics(分析)

sql - MySQL 错误 - 我不明白它在说什么

php - Laravel - 无法覆盖模型的创建方法

Laravel + 图像干预 : Force download of file that is not saved

php - 将日期转换为月份名称和年份

php - 如何在单击按钮时增加数据库中的值 PHP MySQLi

php - CakePHP 在登录时保存日期/时间

php - 2条语句的SQL连接表结果

mysql - 尝试执行第一次迁移时获取 django.core.exceptions.ImproperlyConfigured : Error loading MySQLdb module,

php - Laravel 5.4 与外键的多对多关系