1

タイトルが示すように、私はXmlファイルを取得し、phpで値を読み取り、それらを配列に保存します。私の配列はPHPで完全に機能します。

配列から値を取得するだけで、値を1つずつ返すことができます。

echo myArray[0][1];

返されるもの:テキスト

これはvar_dumpです:

array (size=2)
  0 => 
    array (size=5)
      0 => 
        object(SimpleXMLElement)[13]
          string 'text' (length=47)
      1 => 
        object(SimpleXMLElement)[14]
          string 'lol' (length=22)
      2 => 
        object(SimpleXMLElement)[15]
          string 'hehe' (length=8)
      3 => 
        object(SimpleXMLElement)[16]
          string 'thanks' (length=4)
      4 => null
  1 => 
    array (size=5)
      0 => 
        object(SimpleXMLElement)[17]
          string 'texxtttttttt' (length=34)
      1 => 
        object(SimpleXMLElement)[18]
          string 'text here' (length=16)
      2 => 
        object(SimpleXMLElement)[19]
          string 'alots of text i guess' (length=44)
      3 => 
        object(SimpleXMLElement)[20]
          string 'some more text' (length=23)
      4 => 
        object(SimpleXMLElement)[21]
          string 'some text here' (length=14)

今問題に。

var obj= <?php print json_encode($myArray); ?>;

もう一つずつ値を取得することはできません。私はそれをループして、値を再び配列に入れようとしました

            var questions = new Array();
            $.each(obj , function(k, v) {  
                    $.each(v, function(k2, v2) {
                        $.each(v2, function(k3, v3) {
                              questions[k2] = v3;
                        });       
                    });
                });

これは私が望む結果を私に与えません。必要なのは、php(myArray [0] [1];)の配列で行ったように、値を1つずつ保存することです。

4

1 に答える 1

1

では、PHPコードをJavascriptファイルに書き込みたいですか?私はそれを強くお勧めしません。コードをPHPのみのファイルに分割し、配列をjsonエンコードする以外は何もしません。

<?php print json_encode($myArray); ?>;

JSファイルで、PHPファイルから文字列を取得するためのajaxリクエストを開始します。jQueryには、まさにそのための便利なメソッドがあります。

jQuery.getJSON( url, [ data ], [ success(data, textStatus, jqXHR) ] )

より複雑な代替案を示す別のリソースは次のとおり です。JSONを取得するためのAjaxクエリ

于 2012-11-09T08:16:03.127 に答える