Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何循环此数组并调用值?_Php_Arrays_Xml - Fatal编程技术网

Php 如何循环此数组并调用值?

Php 如何循环此数组并调用值?,php,arrays,xml,Php,Arrays,Xml,我首先有一个XML文件,我将其转换为下面可以看到的数组。但我遇到的问题是在数组中循环并调用值。例如,我如何循环浏览动画以获得动画名称“攻击泰坦”或开始时间“上午9:30”等?我该怎么做?多谢各位 以下是阵列: Array ( [anime] => Array ( [0] => Array ( [id] => 1 [content] => Array ( [action_adventure_channel] => Array (

我首先有一个XML文件,我将其转换为下面可以看到的数组。但我遇到的问题是在数组中循环并调用值。例如,我如何循环浏览动画以获得动画名称“攻击泰坦”或开始时间“上午9:30”等?我该怎么做?多谢各位

以下是阵列:

Array (
 [anime] => Array (
  [0] => Array (
   [id] => 1
    [content] => Array (
     [action_adventure_channel] => Array (
      [0] => Array (
       [name] => Array (
        [0] => Attach on Titan
        )
        [start_time] => Array (
         [0] => 09.30am
        )
        [end_time] => Array (
         [0] => 10.30am
        )
       )
      )
     )
    )
    [1] => Array (
     [id] => 2
     [content] => Array (
      [crime_drama_channel] => Array (
       [0] => Array (
        [name] => Array (
         [0] => Death Note
        )
        [start_time] => Array (
         [0] => 12.00pm
        )
        [end_time] => Array (
         [0] => 1.00pm
        )
       )
      )
     )
    )
   )
  )
编辑:以下是我转换为上述数组的XML版本:

<?xml version="1.0" encoding="UTF-8"?>
<anime_data>
    <anime id="1">
    <action_adventure_channel>
        <name>Attach on Titan</name>
        <start_time>09.30am</start_time>
        <end_time>10.30am</end_time>
    </action_adventure_channel>
    </anime>
    <anime id="2">
    <crime_drama_channel>
        <name>Death Note</name>
        <start_time>12.00pm</start_time>
        <end_time>1.00pm</end_time>
    </crime_drama_channel>
    </anime>
</anime_data>

附在泰坦上
上午9时30分
上午10:30
死亡笔记
下午12时
下午1时

您可以从一开始就使用
SimpleXML
。然后使用
foreach
进行遍历

$xml = simplexml_load_file('path/to/xmlfile.xml');
foreach($xml as $anime) {
    $id = $anime->attributes()->id;
    foreach($anime as $info) {
        $name = $info->name;
        $start_time = $info->start_time;
        $end_time = $info->end_time;
    }
}

这些数据是从某处获取的,还是可以更改数组的格式?因为我觉得很奇怪,名称属性是一个数组,因为每个元素应该只有一个名称。如果使用xml,Um会简单得多……或者您可以使用
SimpleXML
直接解析这些值。此数组不是有效的php数组!我已经发布了上面的xml版本。我也认为它看起来是错误的,并试图改变它,使它看起来更像一个数组,但它不会工作。那我怎么才能把它转换成一个合适的数组呢?还是使用SimpleXML检索值?求你了?谢谢,这正是我需要的@凯尔很高兴这有帮助