Php 从xml构建关联数组时遇到问题
我正试图从XML构建一个关联数组。以下是xml的外观(总共约70个“item”条目): 我正在尝试构建一个关联数组,如下所示:Php 从xml构建关联数组时遇到问题,php,arrays,xml,Php,Arrays,Xml,我正试图从XML构建一个关联数组。以下是xml的外观(总共约70个“item”条目): 我正在尝试构建一个关联数组,如下所示: $new_array = array(array("name"=>name, "value"=>value),array("name"=>name, "value"=>value),array("name"=>name, "value"=>value), etc); 它不起作用了。我试图打印数组以查看它是否已形成,但我得到了一个0
$new_array = array(array("name"=>name, "value"=>value),array("name"=>name, "value"=>value),array("name"=>name, "value"=>value), etc);
它不起作用了。我试图打印数组以查看它是否已形成,但我得到了一个0-array、1-array等的列表
我还尝试了array\u merge()、$new\u array[]=$item和array\u push($new\u array,array(“name”=>name,“value”=>value))代码>
有没有更好的方法将关联数组附加到数组上?i、 比如python中的array.append(dict)
?多谢 试试看
$data = file_get_contents("xml url");
$xml = simplexml_load_string($data);
$counter = 1;
$new_array =[];
foreach($xml->children() as $item)
{
$new_array[$counter]['name'] = $item->name;
$new_array[$counter]['value'] = $item->value;
$counter += 1;
}
将xml中每个
中的名称和值添加到数组中的可能解决方案是,首先检查$item->getName()
是否为“item”
然后,您可以使用将新数组添加到$new\u数组中
例如:
$data = file_get_contents('xml url');
$xml = simplexml_load_string($data);
$new_array = array();
foreach($xml->children() as $item) {
if ($item->getName() === "item") {
array_push(
$new_array, [
"name" => $item->name->__toString(),
"value" => $item->value->__toString()
]
);
}
}
var_dump($new_array);
将导致:
array (size=2)
0 =>
array (size=2)
'name' => string 'Name' (length=4)
'value' => string '24' (length=2)
1 =>
array (size=2)
'name' => string 'Name' (length=4)
'value' => string '24' (length=2)
$data = file_get_contents('xml url');
$xml = simplexml_load_string($data);
$new_array = array();
foreach($xml->children() as $item) {
if ($item->getName() === "item") {
array_push(
$new_array, [
"name" => $item->name->__toString(),
"value" => $item->value->__toString()
]
);
}
}
var_dump($new_array);
array (size=2)
0 =>
array (size=2)
'name' => string 'Name' (length=4)
'value' => string '24' (length=2)
1 =>
array (size=2)
'name' => string 'Name' (length=4)
'value' => string '24' (length=2)