如何通过 php 中的 foreach 循环传递 JSON 数据

how to pass JSON data though a foreach loop in php

我希望 JSON 数据在 php 中被认为是一个 foreach 循环,但每次我尝试这样做时,我都会收到此错误消息:

Catchable fatal error: Object of class stdClass could not be converted to string

PHP:

<?php
  $xml_events = simplexml_load_file('xml_data/current_events.xml');

  $results = array();


  foreach ($xml_events->event as $event) {
    array_push($results, array(
        'name' => $event->name,
        'cover' => $event->cover,
    ));
  }

  $data = json_encode($results);
  $json = json_decode($data);

  foreach ($json as $name)
  {
    echo $name->name; 
  }

XML:

<?xml version="1.0"?>
<data>
  <event>
    <name>Barclays ATP World Tour Finals</name>
  </event>
</data>

JSON数据:

"[{"name":{"0":"Barclays ATP World Tour Finals"}},{"name":{"0":"2015 National Television Awards"}},{"name":{"0":"Barclays ATP World Tour Finals"}},{"name":{"0":"Barclays ATP World Tour Finals"}},{"name":{"0":"Barclays ATP World Tour Finals"}},{"name":{"0":"Doctor who"}},{"name":{"0":"Apple Party"}},{"name":{"0":"ice-cream"}}]"

$name是一个对象,所以解决方法是使用:

echo $name->name->{0};