(在删除XML节点之后)以下获取< picture>的列表。 'id'属性值:
$objXML = new SimpleXMLElement(XML_FILE_NAME, null, true);
$picture = $objXML->xpath('picture');
$arrayCurrent = array();
foreach($picture as $value) {
$arrayCurrent[] = (string)$value['id'];
}
sort($arrayCurrent); // required as XML nodes not in numerical 'id' order
print_r($arrayCurrent);
返回以下内容:
数组([0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 6 [6] => 7 [7] => 8)
我想将每个id设置为当前键的值,如下所示:
数组([0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7)
我一直在搞乱这个问题,但我想知道是否有一种简单的方法来实现这个目标?
答案 0 :(得分:1)
如果你明确指定索引键并使用asort,我想你会得到你想要的东西。
...
foreach($picture as $value) {
$arrayCurrent[$value['id']] = (string)$value['id'];
}
asort($arrayCurrent); // required as XML nodes not in numerical 'id' order
...
击> <击> 撞击>
第二次尝试..仍然不确定我理解你,但是嘿:)而不是foreach循环:
for($i = 0; $i < sizeof($picture); $i++)
{
$picture[$i]['id'] = $i;
$arrayCurrent[$i] = $i; // Not sure why you'd still want this, in this case.
}