正如标题所示,我得到了一个 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]; ) 任何人?
最佳答案
那么您想将 PHP 代码写入 Javascript 文件吗?我强烈反对这样做。 将您的代码拆分为仅 PHP 的文件,该文件除了对数组进行 json 编码之外不执行任何操作:
<?php print json_encode($myArray); ?>;
在 JS 文件中,启动 ajax 请求以从 PHP 文件中获取字符串。 jQuery 有 convenient methods正是为了这个:
jQuery.getJSON( url, [ data ], [ success(data, textStatus, jqXHR) ] )
这是另一个资源,显示了更复杂的替代方案: Ajax Query to get JSON
关于php - 从 XML 到 PHP 到数组到 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301853/