Heim > Fragen und Antworten > Hauptteil
Ich habe eine interessante Frage zu Compact in PHP und Compact in Laravel.
Nehmen Sie dieses kompakte Beispiel in PHP:
$banana = "yellow"; $apple = "red"; $result = compact('banana','apple'); var_dump($result); //Output array(2) { ["banana"]=> string(6) "yellow" ["apple"]=> string(3) "red" }
Aber wenn ich die kompakte Rückgabeansicht auf dem Controller in Laravel verwende, wird eine Variable anstelle eines Arrays zurückgegeben
public function fruisColor($banana="yellow",$apple="red"){ return view('template.fruits',compact('banana','apple')); }
Aber wenn ich diese Variable im Template Blade erhalte, handelt es sich nicht um ein Array, sondern um eine Variable, siehe:
P1 = {{ $banana }} e P1 = {{ $apple }}
Wenn PHP Variablen kompakt in Arrays konvertiert, warum gibt es dann im Template Blade nur var zurück? Das sollte nicht sein:
P1 = {{ $banana[0] }} e P1 = {{ $apple[0] }}
Sieht verwirrend aus, nicht wahr?
P粉5026087992023-12-14 13:47:50
由于 view 方法的两个参数接受一个数组,根据文档,该数组将其转换为可以在刀片模板中使用的变量,Laravel 可以处理从紧凑返回的数组。