首页  >  问答  >  正文

Laravel 紧凑()

我有一个有趣的问题,关于 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粉697408921P粉697408921334 天前449

全部回复(1)我来回复

  • P粉502608799

    P粉5026087992023-12-14 13:47:50

    由于 view 方法的两个参数接受一个数组,根据文档,该数组将其转换为可以在刀片模板中使用的变量,Laravel 可以处理从紧凑返回的数组。

    回复
    0
  • 取消回复