3

我有一个格式如下的 xml:

<?xml version="1.0"?>
<root>
  <foo id="1">
    <bar>text</bar>
  </foo>
  <foo id="2">
    <bar>text2</bar>
  </foo>
</root>

我知道,在 PHP 中,您可以访问加载了 SimpleXML 的 xml 文件的第 n 个元素,如下所示:

$xml = simplexml_load_file('file.xml');
echo $xml->foo[2]->bar;

但我需要通过从 中提取的变量来访问元素$_GET,因此:

echo $xml->foo[$var]->bar;

这似乎不起作用,我非常感谢任何建议。谢谢!

4

1 回答 1

2

似乎 SimpleXML 以与普通 PHP 数组略有不同的方式区分数字和非数字数组偏移量,因此您需要先将变量转换为整数。(查询字符串中的所有输入都是一个字符串,除非您另外告诉 PHP。)

$var = intval($_GET['var']);
echo $xml->foo[$var]->bar;

这会将字符串'1'转换为整数1,并且应该给出您需要的结果。

于 2013-07-17T00:58:34.160 回答