【问题标题】:How to access multidimensional array data?如何访问多维数组数据?
【发布时间】:2015-04-23 10:28:50
【问题描述】:

我有一个无法访问其数据的数组。

$.get("url"), function(data) {
    console.log(data);
}

控制台输出:

Array( 
    [0] => Array ( [element0] => 1 [element1] => value1 [element2] => value2 )
    [1] => Array ( [element0] => 2 [element1] => value1 [element2] => value2 )
) 

现在我正在尝试使用 data[0]、data[0]["element0"] 访问元素,但我要么一无所获,要么返回该位置的字符而不是数据。如何正确访问元素?

【问题讨论】:

  • data[0][0] 返回什么?
  • 不要在 ajax 上返回 var_dump 返回直接数组
  • 需要从服务器发送 json 输出,这将为您提供对象数组,因为 javascript 中没有关联数组
  • data[0][0] 返回“A”。

标签: javascript jquery arrays multidimensional-array


【解决方案1】:

看起来您正在使用 PHP 来输出数据。 PHP 和 JavaScript 无法相互通信。他们“说”不同的语言。您必须为这两个脚本找到一种相处方式。我建议您将 PHP 数组编码为 JSON 字符串。

//PHP
header("Content-type: application/json; charset=utf-8");
$data = array(
  array(
    'element0' => 1,
    'element1' => 'value1',
    'element2' => 'value2',
  ),
   array(
    'element0' => 1,
    'element1' => 'value1',
    'element2' => 'value2',
  ),
);
echo json_encode($data);

JavaScript 可以解码 JSON,因为您使用 jQuery 来发出 XHR 请求,jQuery 会自动将 JSON 解码为 JavaScript 对象,因为我们设置了 JSON 标头。

$.get("url"), function(data) {
  console.log(data[0].element1); //gives output: 'value1'
}

祝你好运!

【讨论】:

    猜你喜欢
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多