【问题标题】:convert an array to object and print result将数组转换为对象并打印结果
【发布时间】:2020-07-06 14:52:42
【问题描述】:

我有这个对象和数组数据:

   stdClass Object
    (
        [meta_title] => title
        [meta_description] => 
        [categories] => Array
            (
                [0] => stdClass Object
                    (
                        [name] => cat title
                    )
    
                [1] => stdClass Object
                    (
                        [name] =>cat title 2
                    )
          
            )
    
        )

实际上,我需要使用foreach 方法打印categories name 。这个怎么打印?!

编辑:

在我的控制器中我有:

public function index()
{
    helper('text');
    $data = array(
        'meta_title' => 'title',
        'meta_description' => '',
        'categories' => $this->postModel->getNewsCategories(),      
    );

    return view('blog/index', array( 'categories' => (object)$data));
}

在视图中:

<?php foreach ($categories as $category) : ?>
  <a href="#"><?php echo esc($category->name);?></a>
<?end foreach;?>

但我看到了这个错误:

Trying to get property 'name' of non-object

【问题讨论】:

  • 你已经尝试过什么了吗?
  • @u_mulder:请看我的编辑

标签: php arrays object


【解决方案1】:

我认为下面的代码可以工作

<?php foreach ($categories->categories as $category) } ?>
  <a href="#"><?php echo esc($category->name);?></a>
<?php end foeach; } ?>

【讨论】:

    【解决方案2】:

    您可以使用以下代码通过 foreach 循环获取类别名称。

    foreach($YOU_STD_CLASS_DATA_VARIABLE->categories as $category) {
        echo $category->name;
    }
    

    谢谢。

    【讨论】:

      猜你喜欢
      • 2015-12-13
      • 2012-03-30
      • 2016-09-07
      • 2011-04-13
      • 2014-07-28
      • 1970-01-01
      • 2015-01-08
      • 2020-04-23
      • 1970-01-01
      相关资源
      最近更新 更多