[英]Passing array from controller to view in Laravel
我是Laravel的新手并试图将一维数组从控制器传递给视图。
这是我的控制器功能
public function onedim_array()
{
$info = array(
'firstname' => 'John',
'lastname' => 'Cena',
'from' => 'USA'
);
return view('one_dim_array', compact('info'));
}
这是我的查看文件:
<?php
foreach($info as $i)
{
echo $i['firstname'];
}
?>
它给了我以下错误:
34a7177cfbceee0b4760125499bdaca34b567c0b.php中的ErrorException第5行:非法字符串偏移'firstname'(查看:C:\\ AppServ \\ www \\ blog4 \\ resources \\ views \\ one_dim_array.blade.php)
我不知道我在哪里弄错了。 请帮忙
由于它不是多维数组,因此使用this而不是foreach()
:
$info['firstname']
foreach()
允许您遍历数组中的所有项目。 并在您的代码段中
<?php
foreach($info as $i)
{
echo $i['firstname'];
}
?>
你试图从一个字符串中获取索引'firstname'
元素(在你的例子中它将是'John'
)。 如果要遍历所有元素并显示它们,请尝试以下操作:
foreach($info as $i)
{
echo $i;
}
或者如果要显示数组的特定元素,请尝试此操作
echo $info['firstname'];
要么
echo $info['lastname'];
我认为你期望接受视图的多维数组。 我想这是你期望传递给视图的数组的值
控制器代码:
public function onedim_array()
{
$info = array(
array(
'firstname' => 'John',
'lastname' => 'Cena',
'from' => 'USA'
),
array(
'firstname' => 'John',
'lastname' => 'Doe',
'from' => 'Canada'
),
);
return view('one_dim_array', compact('info'));
}
PS。 潜水之前建议研究框架:“先掌握PHP的基础知识”,并学习如何调试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.