【问题标题】:Laravel Explode Array from DatabaseLaravel 从数据库中分解数组
【发布时间】:2013-06-10 10:09:56
【问题描述】:

在我的数据库中,我有一个文本字段

"6:00 AM Registration Opens; Day of Race registration (if available), check-in, packet pick up. 7:30 AM - First Wave Start. 10:00 AM - Awards Ceremony (time is approximate)."

我想做的是让它在任何有.的地方打破

@foreach($eventDetails as $info)
 <p>{{explode('.', $info->eventSchedule)}}</p>
@endforeach

我不断收到的错误是

"Array to string conversion"

【问题讨论】:

  • 因为一旦你把它变成一个数组,你就会尝试再次将它打印为一个字符串。您需要将其分解,然后循环通过生成的数组进行打印。用".&lt;br&gt;" 替换"." 可能更容易

标签: php html laravel explode


【解决方案1】:

explode('.', $info-&gt;eventSchedule) 返回一个字符串数组()。在刀片模板引擎(Laravel 使用)中,双括号 {{ 'Hello world' }} 中的任何内容都将转换为 echo 语句 &lt;?php echo 'Hello World'; ?&gt;

您无法回显数组,因此&lt;?php echo explode('.', $info-&gt;eventSchedule); ?&gt; 失败。我不确定你的目标,但我会试试这个:

@foreach($eventDetails as $info)
    @foreach(explode('.', $info->eventSchedule) as $string)
        {{ $string }}
    @endforeach
@endforeach

这将循环通过 explode() 创建的数组,并通过刀片的模板引擎回显字符串。

【讨论】:

    【解决方案2】:

    改用 str_replace():

    &lt;p&gt;{{str_replace('.','.&lt;br&gt;', $info-&gt;eventSchedule)}}&lt;/p&gt;

    【讨论】:

    • 这可行,但我不认为这是solves 问题的答案。在我看来,它避免了它。不过,根据他的情况,这可能是一个完美的解决方案。
    • 这就是我的想法,因为没有对数组的逻辑或处理,它会按照 OP 的要求进行操作。
    猜你喜欢
    • 1970-01-01
    • 2018-08-26
    • 2020-05-06
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多