php – Laravel 5.4数组到字符串转换异常

前端之家收集整理的这篇文章主要介绍了php – Laravel 5.4数组到字符串转换异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将一个字符串分解为一个数组,然后在屏幕上打印值.这是我想破解的字符串:

“齿轨|神鹰”

“|”用它来拆分它.我是这样做的:

<?= $arrays = explode('|',$b->brand); foreach($arrays as $array){echo $array;}  ?>

但我一直得到这个例外:

2/2) ErrorException
Array to string conversion (View: D:\Code\PHP\Code\CrownBillingSystem\resources\views\pages\print.blade.PHP)
in 6e7ee4930110d4a26a3e31e0ddfe8b87849a1319.PHP (line 93)
at CompilerEngine->handleViewException(object(ErrorException),1)
in PHPEngine.PHP (line 44)
at PHPEngine-

我无法弄清楚这里有什么问题.

解决方法

虽然其他答案并不正确,但Blade已被设计为根除PHP标签的使用.刀片功能允许您执行所有操作.

这里产生的错误是<?=是< PHP echo的缩写.因此,您的代码将以伪代码术语呈现为echo $数组,这是因为您无法回显数组而导致PHP崩溃的地方. 为了更好地处理此实例中的代码,您应该在控制器中操作尽可能多的数据,这在刀片文档中也提到了here.

我建议修改你的代码,以产生相同的结果,但使用刀片.

@PHP 
    $arrays = explode('|',$b->brand); 
@endPHP

@foreach($arrays as $array)
    {{ $array }}
@endforeach

上面的代码片段将产生与预期相同的结果.

一个更好的方法,并进一步理解将从控制器返回视图,并传入$arrays预定义.像这样的东西:

public function echoArrays()
{
    $b = Object::find(1); //or however you get $b
    $arrays = explode('|',$b->brand); 
    return view('view1',compact('arrays');
}

以上将允许您使用代码片段2,但没有@PHP … @ endPHP标签,只需使用@foreach()… @endforeach

猜你在找的Laravel相关文章