【问题标题】:placing a multi-dimensional array into Javascript from PHP using JSON使用 JSON 从 PHP 将多维数组放入 Javascript
【发布时间】:2011-02-05 19:40:51
【问题描述】:

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

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

最终目标是循环遍历 JavaScript 中的多维数组以提取值(价格)...

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

我基本上需要做相当于这个PHP代码的JavaScript

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

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

      //peform action on $value2;
    }
}

感谢您的帮助。

盎司

【问题讨论】:

    标签: php javascript jquery json


    【解决方案1】:

    假设你调用了变量arrayFromPhp,你可以使用一个简单的嵌套for循环:

    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
      }
    }
    

    【讨论】:

    • +1 我猜他不知道数组[i][j];是可能的。
    【解决方案2】:

    使用 jquery,您可以像这样迭代 json 对象:

    $.each(obj, function(key, value) {
        if ($.type(value) == "object") {
           $.each(value, function(key, value) {
               // value would be $value2 here
           })
        }
    });
    

    另外,如果你从 PHP 中得到一个 json 编码的字符串,你可以使用http://api.jquery.com/jQuery.parseJSON/ 得到一个 json 对象

    var obj = jQuery.parseJSON(stringFromPhp);
    

    也可以直接使用$.getJSON()(http://api.jquery.com/jQuery.getJSON/)在回调中自动获取json对象。

    编辑:缺少括号。

    【讨论】:

    • 这也对我有用:),但是我更喜欢上面的答案,只是因为它更类似于我的母语foreach 的结构。不过,感谢您的宝贵时间,它让我对 jQuery 方法有了宝贵的了解。 :)
    • 没问题 :) 这个版本对我来说感觉更干净和健壮,但这是你的选择;)
    猜你喜欢
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 2021-04-16
    • 2019-06-13
    • 2017-09-19
    • 1970-01-01
    相关资源
    最近更新 更多