使用JSON将多维数组从PHP放入Javascript

使用JSON将多维数组从PHP放入Javascript,php,javascript,jquery,json,Php,Javascript,Jquery,Json,我的php脚本发回一个JSON编码的字符串 我只是不知道如何实际使用数组,现在它很好地位于Javascript中 最终目标是通过JavaScript中的多维数组循环提取值(价格) 我已经设法让JavaScript接收编码字符串(通过将其打印到屏幕上进行测试),但我不确定如何实际使用该数组,或者如何像在PHP中一样循环使用该数组 我基本上需要做与此PHP代码等效的JavaScript foreach ($array as $item => $value){ foreach ($v

我的php脚本发回一个JSON编码的字符串

我只是不知道如何实际使用数组,现在它很好地位于Javascript中

最终目标是通过JavaScript中的多维数组循环提取值(价格)

我已经设法让JavaScript接收编码字符串(通过将其打印到屏幕上进行测试),但我不确定如何实际使用该数组,或者如何像在PHP中一样循环使用该数组

我基本上需要做与此PHP代码等效的JavaScript

 foreach ($array as $item => $value){

    foreach ($value as $item2 => $value2){

      //peform action on $value2;
    }
}
谢谢你的帮助


Oz

使用jquery,您可以对json对象进行如下迭代:

$.each(obj, function(key, value) {
    if ($.type(value) == "object") {
       $.each(value, function(key, value) {
           // value would be $value2 here
       })
    }
});
另外,如果您从PHP获得一个json编码的字符串,您可以使用来获取json对象

var obj = jQuery.parseJSON(stringFromPhp);
您还可以直接使用$.getJSON()()在回调中自动获取json对象


编辑:缺少括号。

假设您已从PHP调用变量
arrayFromPhp
,您可以使用一个简单的嵌套
循环:

for(var i = 0, l = arrayFromPhp.length; i < l; i++) {
  for(var j = 0, l2 = arrayFromPhp[i].length; j < l2; j++) {
    var value = arrayFromPhp[i][j];
    //Do stuff with value
  }
}
for(var i=0,l=arrayFromPhp.length;i
+1我猜他不知道那个数组[i][j];是可能的。这对我也有用:),但我更喜欢上面的答案,只是因为它更像我的母语foreach的结构。不过,感谢您抽出时间,这让我对jQuery方法有了宝贵的见解。:)没问题:)这个版本对我来说更干净、更健壮,但这是你的选择;)