如何在CI-Blade模板中为输出内容添加空格与换行
解决CI-Blade中循环输出内容换行而非空格的问题
你现在遇到的问题是循环输出每个$c后自动换行了,想要改成用空格分隔,这里有几种实用的解决方法:
方法1:使用implode简化输出(推荐)
最简洁的方式是直接利用PHP的implode函数,把内层数组的元素用空格拼接成字符串输出,省去嵌套循环的麻烦:
@foreach($tbl_data as $d) {{ implode(' ', $d) }} @endforeach
这样每个$d数组里的所有元素会直接用空格连接起来输出,不会产生额外的换行,完美匹配你的需求。
方法2:在循环中精准控制空格输出
如果你一定要保留嵌套循环的结构,可以通过Blade自带的$loop变量判断是否为当前循环的最后一个元素,避免末尾多出来的空格:
@foreach($tbl_data as $d) @foreach($d as $c) {{ $c }}{{ $loop->last ? '' : ' ' }} @endforeach @endforeach
这里的$loop->last是Blade提供的循环内置变量,当遍历到当前循环的最后一个元素时就不输出空格,其他情况都在$c后添加一个空格。
为什么原来的代码会换行?
你原来的代码里,模板中的换行、注释会被直接输出到最终的HTML中,每个{{$c}}后面跟着的换行符,在浏览器渲染时(尤其是块级元素内)会被解析为换行显示。上面的两种方法都能避免这种额外的换行输出,直接输出你需要的空格分隔效果。
内容的提问来源于stack exchange,提问作者Maulik Pipaliya Joyy
相关产品推荐
相关产品推荐

