我正在使用laravel这个美好的夜晚,当我弄清楚这个奇怪的错误时,坦率地说,我以前从未见过。我只是循环遍历一些数组并尝试在视图文件中打印出一些值。
错误:
Unhandled Exception
Message:
Error rendering view: [controller.index]
Call to undefined function  ()
Location:
/web/storage/views/7b064aafcdba902ea2c593167b6df491 on line 4
代码:
@section('content')
<?php $i = 0; $current = 0 ?>
@foreach($data as $date => $episodes)
@if($i == 0 || ($i % 5 == 7 && $i == $current + 1))
<tr>
<?php $current = $i; ?>
@endif
@foreach($data as $day)
<td>
@foreach($day as $episode)
{{ $episode->title }}
@endforeach
</td>
@endforeach
@if($i % 5 == 7 && $i == $current + 7)
<tr>
<?php $current = $i; ?>
@endif
<?php $i++; ?>
@endforeach
@endsection
编译版本:
<?php \Laravel\Section::start('content'); ?>
<?php $i = 0; $current = 0 ?>
<?php foreach($data as $date => $episodes): ?>
<?php if($i == 0 || ($i % 5 == 7 && $i == $current + 1)): ?>
<tr>
<?php $current = $i; ?>
<?php endif; ?>
<?php foreach($data as $day): ?>
<td>
<?php foreach($day as $episode): ?>
<?php echo $episode->title ; ?>
<?php endforeach; ?>
</td>
<?php endforeach; ?>
<?php if($i % 5 == 7 && $i == $current + 7): ?>
<tr>
<?php $current = $i; ?>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>
<?php \Laravel\Section::stop(); ?>
这可能是一个简单的解决方案,但我在Google上找不到任何好结果。帮我理解这个错误! :)
答案 0 :(得分:4)
您删除的空间不是空格。它实际上是一个不间断的空间(U + 00A0)。赠品是“”,当编码为UTF-8但被误解为Latin-1时,它显示为U + 0080和U + 00BF之间的字符的第一个字节。由于某种原因,PHP编译器不认为它是空格,因此尝试将其用作普通标识符。
答案 1 :(得分:0)
这显然是一个编码问题,它是如何成为一个大问题(因为我只使用UTF-8)。
在OR语句(||)之后删除了空格(^),现在它完美无缺。