ホームページ  >  記事  >  バックエンド開発  >  PHP が XML を 2 次元配列に解析する問題について、アドバイスをください。

PHP が XML を 2 次元配列に解析する問題について、アドバイスをください。

WBOY
WBOYオリジナル
2016-06-23 13:50:211005ブラウズ



name="haha2.1" />








array(
array("name"= >"haha1",id=1,pid=0),
array("name"=>"haha2",id=2,pid=0),
array("name"=>"haha2,1) ",id=3,pid=2),
array("name"=>"haha2,2",id=4,pid=2),
array("name"=>"haha3",id= 5,pid=0),
array("name"=>"haha3,1",id=6,pid=5),
array("name"=>"haha3.2",id=7, pid=5),
)
?>


先頭の XML コードを次の php 配列に変換します


以下は、変換時に pid が間違っています。試し方を教えてください
$xml = simplexml_load_file("hh.xml");
$arr = json_encode($xml),TRUE); ));
関数 arrto2($arr,$ pid=0){
static $i=1;
foreach($arr as $v){
if(is_array($v) ){
foreach($va as $z = > $x){
if($z==="@attributes"){
$v["@attributes"]['id']=$i; $v["@attributes" "]['pid ']=$pid;
$data[$i]=$v["@attributes"];

}else{
$data を返す
}

これで問題は解決しました。はい、中国語を解析するときに別の問題が発生します。エンコードは gb2312 で、utf8 を使用するのが通常です。





ディスカッションへの返信 (解決策)問題は解決しました

arrto2($x,$v["@attributes"]['id']); だけでOKです

メタ文字セットを追加すると文字化けしません。

hh.xml
rree

rree

rree

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。