我有一个有趣的问题,关于 PHP 中的紧凑和 Laravel 中的紧凑。
以 PHP 中的紧凑示例为例:
$banana = "yellow"; $apple = "red"; $result = compact('banana','apple'); var_dump($result); //Output array(2) { ["banana"]=> string(6) "yellow" ["apple"]=> string(3) "red" }
但是当我在 Laravel 中的控制器上使用紧凑返回视图时,它返回变量而不是数组
public function fruisColor($banana="yellow",$apple="red"){ return view('template.fruits',compact('banana','apple')); }
但是当我在模板刀片中获取这个变量时,它不是一个数组,而是一个变量,看:
P1 = {{ $banana }} e P1 = {{ $apple }}
如果 PHP 紧凑地将变量转换为数组,为什么在模板刀片中它只返回 var? 这不应该是:
P1 = {{ $banana[0] }} e P1 = {{ $apple[0] }}
看起来很混乱不是吗?
P粉5026087992023-12-14 13:47:50
由于 view 方法的两个参数接受一个数组,根据文档,该数组将其转换为可以在刀片模板中使用的变量,Laravel 可以处理从紧凑返回的数组。