【问题标题】:How to convert multidimensional array from PHP to JavaScript?如何将多维数组从 PHP 转换为 JavaScript?
【发布时间】:2017-01-21 14:04:58
【问题描述】:

我尝试使用 dygraph。我从 ajax 调用中获取数据,我需要将返回的 JSON 数组转换为 JavaScript 数组。

现在我的 dygraph 选项看起来像这样

    series = {
      sample1: {
        color: 'Green',
        strokeWidth: 3,
        pointSize: 4
      },
      sample2: {
        color: 'DarkBlue',
        strokeWidth: 2,
        pointSize: 3
      },
      sample3: {
        color: 'DarkOrange',
        strokeWidth: 1,
        pointSize: 2
      }
    }

   dygraph_options = {
      title: title,
      labels: jsonDataTable.labels,
      series: series,
      ...
   }

我的 php ajax 调用如下所示:

$series = array();
$series[] = array( 'sample1' => array('color' => 'Green'));
$series[] = array( 'sample2' => array('color' => 'DarkBlue'));
$series[] = array( 'sample3' => array('color' => 'DarkOrange'));

$table = array( "series" => $series, "labels" => $labels, "data" => $rows );
return $table;

我想从 json 中获取系列。但我返回的系列与javascript系列不同:

jsonDataTable.series -> [对象 { 库存={...}},对象 { 预测={...}}]
javascript 系列 -> 对象 { stock={...}, 预测={...},训练={...}}

我尝试了很多,但无法正常工作。

【问题讨论】:

    标签: javascript php arrays json multidimensional-array


    【解决方案1】:

    您希望 $series 成为关联数组:

    $series = array();
    $series['sample1'] = array('color' => 'Green');
    $series['sample2'] = array('color' => 'DarkBlue');
    $series['sample3'] = array('color' => 'DarkOrange');
    

    或者

    $series = array(
       'sample1' => array('color' => 'Green'),
       'sample2' => array('color' => 'DarkBlue'),
       'sample3' => array('color' => 'DarkOrange')
    );
    

    【讨论】:

    • 哦,我得到的关联数组正是我想要的,而且很简单,我为什么不试试这个???谢谢!
    【解决方案2】:

    准备数组从php发送到javascript:

    echo json_encode( $array );
    

    将javascript中的数据翻译成漂亮的对象

    var a = JSON.parse( phpdata );
    

    准备从 javascript 向 php 发送数据

    var tosend = JSON.stringify( a );
    

    将传入的 js 对象翻译回 php

    $a = json_decode( $some_json );
    

    $a = json_decode( $some_json, true );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      相关资源
      最近更新 更多