相当于此Javascript代码段的PHP

时间:2019-01-31 10:35:23

标签: javascript php

JavaScript:

var chartData = [];
     for (var i = 0; i< data.prices.length; i++)
      {
        chartData.push
        ({
        "date": data.prices[i][0],
        "value": data.prices[i][1],
        "volume": data.total_volumes[i][1]
        });  
      }

我的尝试(PHP):

$chartData = [];
    $length = count($data->prices);

    for ($i = 0; $i < $length; $i++)     
    {
    $chartData[] = array($data->prices[$i][0],$data->prices[$i][1],$data->total_volumes[$i][1]);
    }  

我正在尝试使用php处理API服务器端的数据,然后为javascript编码数据。我在“ date”:“ value”:和“ volume”:停留在将这个javascript代码段转换为PHP:我不知道在PHP中这等效于什么。看起来好像它们是javascript中将数据推送到数组的标签?如何在PHP中为被压入数组的数据添加相同的标签?

2 个答案:

答案 0 :(得分:5)

您非常接近,可以通过以下操作在PHP中定义键和值:

$chartData[] = array(
   "date"   => $data->prices[$i][0],
   "value"  => $data->prices[$i][1],
   "volume" => $data->total_volumes[$i][1]
);

答案 1 :(得分:3)

这是一种“聪明”的方式:

$chartData = array_map(function($price,$volume) {
    return array(
        "date" => $price[0],
        "value" => $price[1],
        "volume" => $volume[1]
    );
}, $data->prices, $data->total_volumes);