2012-03-05 9 views
-1

私はこの2日間を過ごしたのでお手伝いください...PHP配列とJsonのデコードエラー

私はJSONオブジェクトを持っています。以下に示すように。

[{"attr":{"id":"node_8","rel":"folder"},"data":"_demo","state":"closed"},{"attr":  {"id":"node_13","rel":"folder"},"data":"demo3","state":""}][{"attr":{"id":"node_8","rel":"folder"},"data":"_demo","state":"closed"},{"attr":{"id":"node_13","rel":"folder"},"data":"demo3","state":""}]string(140) "[{"attr":{"id":"node_8","rel":"folder"},"data":"_demo","state":"closed"},{"attr":{"id":"node_13","rel":"folder"},"data":"demo3","state":""}]" 

私は次の出力を取得したJSONデコードを使用して..私はを反復処理し、私はdivのクラスを追加することができますリストとして各値にアクセスし、IDのことができますどのように

Array ([0] => Array ([attr] => Array ([id] => node_8 [rel] => folder) [data] => _demo [state] => closed) [1] => Array ([attr] => Array ([id] => node_13 [rel] => folder) [data] => demo3 [state] =>)) aArray 

。たとえば、[id] => node_8などです。その値にアクセスしてdiv id = "node_8"または[rel] =>フォルダに変換し、div class = "folder"に変換するにはどうすればよいですか。たとえば、私はそれは例えば、ID = node_8のrel =フォルダのデータ= _demo状態=は私が持っている ID = node_13のrel =フォルダのデータは= demo3状態=

を閉じ生産

foreach ($data as $key => $value){ 
    if(is_array($value)) { 
    { 

    echo $value . "<br />"; 
    } 
    } 
    } 

を意味
になります願っています誰かが多次元配列に問題がある場合は以下の答えを追加し、JSONからデコードし、divなどを配列に追加しました。親切にShayan Husainiによって提供される。 ここで、$ stringはarrayと等しいです。

$json_a=json_decode($string,true); 
foreach ($json_a as $value) { 

エコー '
'; エコー 'id:'。$ value ['attr'] ['id']; エコー '
'; エコー 'rel:'。$ value ['attr'] ['rel']; エコー '
'; エコー '名前:'。$値['データ']; エコー '
'; エコー ''。$値['状態']; echo '';

+0

私はこの問題を抱えていません。なぜforeachを使わないのですか? – androidavid

+0

[phpのチュートリアル](http://php.net/manual/en/tutorial.php)や[配列に関するドキュメント](http://php.net/manual/en/language)を読んでも気になりませんでしたか? types.array.php)? – Lepidosteus

+0

私はあなたが過去2日間に試したことを知りたいです – Julien

答えて

3

あなたの配列は多次元配列なので、値を取得するために子配列のキーも定義する必要があります。これがあなたを助けてくれることを願っています:

foreach ($data as $value){ 
     echo 'id: '.$value['attr']['id']; 
     echo 'rel: '.$value['attr']['rel']; 
     echo 'demo: '.$value['demo']; 
     echo 'state: '.$value['state']; 
    } 
+1

大好きなShayan。私のコンピュータはちょうど窓を通って行っていた。エコー 'id:'。$ value ['attr'] ['id'];私が探していたものでした。私はそれを表示することができませんでした。あなたは絶対星です。コメントしていただきありがとうございます。私はこれに費やした3日間、そしてそのシンプルなものをあなたがすぐに見つけられるように、とても感謝しています。再び多くのおかげです。 – user1074541

+0

私は助けることができることを知ってうれしい.... .... –