【问题标题】:Passing array from controller to view in Laravel将数组从控制器传递到 Laravel 中的视图
【发布时间】:2017-05-25 06:24:25
【问题描述】:

我是 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'];
}

?>

它给了我以下错误:

ErrorException 在 34a7177cfbceee0b4760125499bdaca34b567c0b.php 第 5 行: 非法字符串偏移 'firstname'(查看: C:\AppServ\www\blog4\resources\views\one_dim_array.blade.php)

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

【问题讨论】:

    标签: php arrays laravel


    【解决方案1】:

    由于不是多维数组,所以用这个代替foreach()

    $info['firstname']
    

    【讨论】:

      【解决方案2】:

      foreach() 允许您遍历数组中的所有项目。在你的代码中 sn-p

      <?php
      
      foreach($info as $i)
      {
          echo $i['firstname'];
      }
      
      ?>
      

      您尝试从字符串中获取索引为'firstname' 的元素(在您的示例中为'John')。如果你想遍历所有元素并显示它们,试试这个:

      foreach($info as $i)
      {
          echo $i;
      }
      

      或者如果你想显示你的数组的特定元素,试试这个

      echo $info['firstname'];
      

      echo $info['lastname'];
      

      【讨论】:

        【解决方案3】:

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

        控制器代码:

        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基础”,然后学习如何调试。

        【讨论】:

          猜你喜欢
          • 2018-06-11
          • 2016-01-21
          • 2017-04-05
          • 2017-01-29
          • 2015-07-25
          • 2014-12-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多