我是新的拉拉维尔,并试图传递一个一维数组从控制器到视图。
这是我的控制器功能
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'];
}
?>它给出了以下错误:
C:\AppServ\www\blog4\resources\views\one_dim_array.blade.php)第5行中的ErrorException :非法字符串偏移“firstname”(查看:ErrorException)
我不知道我在哪里搞错了。请帮帮忙
发布于 2017-01-10 17:08:09
因为它不是多维数组,所以使用它而不是foreach()
$info['firstname']发布于 2017-01-10 19:45:32
foreach()允许您遍历数组中的所有项。在你的代码片段中
<?php
foreach($info as $i)
{
echo $i['firstname'];
}
?>您尝试从一个字符串中获取带有索引'firstname'的元素(在您的示例中,它将是'John')。如果要遍历所有元素并显示它们,请尝试如下:
foreach($info as $i)
{
echo $i;
}或者,如果要显示数组的特定元素,请尝试如下
echo $info['firstname'];或
echo $info['lastname'];发布于 2017-01-11 03:51:51
我认为您希望在视图中接受多维数组。我认为这是您希望传递给视图的数组的值
控制器代码:
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的基础知识”,然后学习如何调试。
https://stackoverflow.com/questions/41574325
复制相似问题