我有一个有趣的问题,关于 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] }}
看起来很混乱不是吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
由于 view 方法的两个参数接受一个数组,根据文档,该数组将其转换为可以在刀片模板中使用的变量,Laravel 可以处理从紧凑返回的数组。