繁体   English   中英

PHP通过自定义数组循环

[英]PHP loop through a custom array

我有一个复杂的数组,它是从SOAP XML转换的。 我想遍历数组并获取ENV:BODY部分并显示。 有没有办法做到这一点 ? 我正在尝试学习,但是由于索引名称不同而有些复杂? 有人会建议吗? 谢谢

这是我的数组的输出

array (
  'SOAPENV:ENVELOPE' => 
  array (
    'ENV:HEADER' => 
    array (
      'WSA:MESSAGEID' => 'urn:960ddd8d-87f0-11e5-a38e-00144ff9d767',
      'WSA:REPLYTO' => 
      array (
        'WSA:ADDRESS' => 'http://www.w3.org/2005/08/addressing/anonymous',
        'WSA:REFERENCEPARAMETERS' => 
        array (
          'INSTRA:TRACKING.ECID' => '52943d5a-ac40-4599-a378-d7c645ea11ca-000ab3ff',
          'INSTRA:TRACKING.FLOWEVENTID' => '86675',
          'INSTRA:TRACKING.FLOWID' => '71161',
          'INSTRA:TRACKING.CORRELATIONFLOWID' => '0000L3nGuO6Fc5GLQyDCid1MBVWK0001VH',
        ),
      ),
      'WSA:FAULTTO' => 
      array (
        'WSA:ADDRESS' => 'http://www.w3.org/2005/08/addressing/anonymous',
      ),
    ),
    'ENV:BODY' => 
    array (
      'NS2:HELLOWORLDRESPONSE' => 
      array (
        'NS2:GREETING' => 'binnenbus Hallo SOA Qing ',
      ),
    ),
  ),
)

它是使用以下命令创建的:

printf("<pre> RESULT: %s</pre>\n",var_export($res,1));

这里不需要循环。 只需使用键。

echo $res['SOAPENV:ENVELOPE']['ENV:BODY']['NS2:HELLOWORLDRESPONSE']['NS2:GREETING'];

如果您要更改ENV:BODY中的键,则可以像这样遍历它们:

foreach ($res['SOAPENV:ENVELOPE']['ENV:BODY'] as $body_node)
{
    foreach ($body_node as $value)
    {
        echo $value;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM