1

正如标题所说,我得到一个 Xml 文件并读取 php 中的值并将它们保存在一个数组中。我的数组在 PHP 中完美运行。

我可以通过从数组中获取我的值一一返回:

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]; ) 中的数组中所做的那样一一保存这些值。

4

1 回答 1

1

那么您想将 PHP 代码写入 Javascript 文件吗?我强烈反对这一点。将您的代码拆分为一个仅 PHP 的文件,该文件除了对您的数组进行 json 编码之外什么都不做:

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

在您的 JS 文件中,您启动一​​个 ajax 请求以从您的 PHP 文件中获取字符串。jQuery 提供了方便的方法来实现这一点:

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

这是另一个显示更复杂替代方案的资源: Ajax Query to get JSON

于 2012-11-09T08:16:03.127 回答