我试图将一个字符串分解为一个数组,然后在屏幕上打印值.这是我想破解的字符串:
“齿轨|神鹰”
“|”用它来拆分它.我是这样做的:
<?= $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