首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel中将数组从控制器传递到视图

在Laravel中将数组从控制器传递到视图
EN

Stack Overflow用户
提问于 2017-01-10 17:04:45
回答 3查看 6.2K关注 0票数 3

我是新的拉拉维尔,并试图传递一个一维数组从控制器到视图。

这是我的控制器功能

代码语言:javascript
复制
 public function onedim_array()
    {
        $info = array(
            'firstname' => 'John',
            'lastname' => 'Cena',
            'from' => 'USA'
            );

        return view('one_dim_array',  compact('info'));
    }

这是我的视图文件:

代码语言:javascript
复制
<?php

foreach($info as $i)
{
    echo $i['firstname'];
}

?>

它给出了以下错误:

C:\AppServ\www\blog4\resources\views\one_dim_array.blade.php)第5行中的ErrorException :非法字符串偏移“firstname”(查看:ErrorException)

我不知道我在哪里搞错了。请帮帮忙

EN

回答 3

Stack Overflow用户

发布于 2017-01-10 17:08:09

因为它不是多维数组,所以使用它而不是foreach()

代码语言:javascript
复制
$info['firstname']
票数 7
EN

Stack Overflow用户

发布于 2017-01-10 19:45:32

foreach()允许您遍历数组中的所有项。在你的代码片段中

代码语言:javascript
复制
<?php

foreach($info as $i)
{
    echo $i['firstname'];
}

?>

您尝试从一个字符串中获取带有索引'firstname'的元素(在您的示例中,它将是'John')。如果要遍历所有元素并显示它们,请尝试如下:

代码语言:javascript
复制
foreach($info as $i)
{
    echo $i;
}

或者,如果要显示数组的特定元素,请尝试如下

代码语言:javascript
复制
echo $info['firstname'];

代码语言:javascript
复制
echo $info['lastname'];
票数 0
EN

Stack Overflow用户

发布于 2017-01-11 03:51:51

我认为您希望在视图中接受多维数组。我认为这是您希望传递给视图的数组的值

控制器代码:

代码语言:javascript
复制
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的基础知识”,然后学习如何调试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41574325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档