javascript - 使用 JSON 将 PHP 多维数组转换为 Javascript?

标签 javascript php arrays json

我需要获取一个数组来按以下方式显示:

var categories = data.categories;

for(a = 0; a < data.count; a++){
    var names[a] = data.name[a];
    var values[a] = data.value[a];
}

将有一个“Categories”数组,例如“2017 年 5 月”、“2017 年 6 月”、“2017 年 7 月”、“2017 年 8 月”、“2017 年 9 月”。然后可能有 3/4 数组包含“名称”和“值”,我希望它们通过一个循环来循环并将它们分配给变量。

目前我的所有变量都为“未定义”。

我的 php 输出当前是:

[
    [{
        "name": "Leads",
        "data": [524, 419, 502, 598, 873],
        "color": "#00afef"
    }, {
        "name": "Purchases",
        "data": [37, 18, 32, 36, 44],
        "color": "#f00"
    }], {
        "categories": ["May 2017", "June 2017", "July 2017", "August 2017", "September 2017"]
    }
]

最佳答案

您返回的 JSON 具有可怕的架构,并且您在 JS 中做了奇怪的事情。希望以下内容能让您重回正轨:

var data = [
  [{
    "name": "Leads",
    "data": [524, 419, 502, 598, 873],
    "color": "#00afef"
  }, {
    "name": "Purchases",
    "data": [37, 18, 32, 36, 44],
    "color": "#f00"
  }], {
    "categories": ["May 2017", "June 2017", "July 2017", "August 2017", "September 2017"]
  }
];

var categories = data[1].categories;

var names = [];
var values = [];

for (var a = 0; a < data[0].length; a++) {
  names.push(data[0][a].name);
  values.push(data[0][a]);
}

console.log(categories);
console.log(names);
console.log(values);

关于javascript - 使用 JSON 将 PHP 多维数组转换为 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523079/

相关文章:

javascript - 如何在PHP中的特定时间使用不同的变量

php - 从另一个 PHP 函数调用 PHP 函数的逻辑错误

php - 获取所选下拉列表的值以与另一个下拉列表进行比较

PHP,数组操作来获取所有相同名称的键

javascript - 如何在 JavaScript 中合并两个数组并删除重复项

php - 使用浏览器列出 Windows 更新

javascript - 一起比较多个字段值

javascript - 如何为 AngularJS $q 和 $http 添加 Typescript 类型?

php - 调试 PHP/MySQL

r - 设置数组中矩阵的行名称