ホームページ >バックエンド開発 >PHPチュートリアル >PHP が XML を 2 次元配列に解析する問題について、アドバイスをください。
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