迭代并将二维数组分配给另一个二维数组(php)

fafcakar  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(123)

我是一个来自日本的新兵训练营(php)小鸡。
我试图通过 CanvasJS. 从CSV文件显示气泡图。
我已完成将CSV数据读入数组**($dataArray)。**
但是,CanvasJS 仅显示手动输入所有值的示例。
https://canvasjs.com/php-charts/bubble-chart/
但我想让它循环。(如果我把一个CSV文件,然后自动制作一个图表)
我已经在网上搜索了几天如何循环,但没有弄清楚。
这是一个来自CSV文件的二维数组**($dataArray)**;

Array
(
    [0] => Array
        (
            [0] => Chrysler
            [1] => USA
            [2] => 291
            [3] => 32970
            [4] => 15.2
            [5] => 11.8
...
    [23] => Array
        (
            [0] => Nissan
            [1] => Japan
            [2] => 251
            [3] => 36314
            [4] => -4.2
            [5] => 2.9
        )

)

我希望它循环并将值分配给另一个二维数组**($dataPoints)**,以便'CanvasJS'可以呈现一个气泡图。

$dataPoints = array(
  array('name' => $dataArray[0][0], 'x' => $dataArray[0][2], 'y' => $dataArray[0][3], 'z' => $dataArray[0][5]),
  array('name' => $dataArray[1][0], 'x' => $dataArray[1][2], 'y' => $dataArray[1][3], 'z' => $dataArray[1][5]),
  array('name' => $dataArray[2][0], 'x' => $dataArray[2][2], 'y' => $dataArray[2][3], 'z' => $dataArray[2][5]),
  array('name' => $dataArray[3][0], 'x' => $dataArray[3][2], 'y' => $dataArray[3][3], 'z' => $dataArray[3][5]),
  array('name' => $dataArray[4][0], 'x' => $dataArray[4][2], 'y' => $dataArray[4][3], 'z' => $dataArray[4][5]),
  ...

如您所见,$dataPoints数组包含4个键(?),它应该如下所示:

'name' => &dataArray[$i][0]
'x' => &dataArray[$i][2]
'y' => &dataArray[$i][3]
'z' => &dataArray[$i][5]

谢谢你的帮助!
在几天内,

  • 我已经在PHP中搜索了如何迭代读取二维数组来分配另一个二维数组。
  • 我向CanvasJS询问,但没有回应。
ddrv8njm

ddrv8njm1#

你是说像这样的循环吗?

$dataPoints = [];
    foreach($dataArray as $row) {
        $dataPoints[] = [
            'name' => $row[0],
            'x' => $row[2],
            'y' => $row[3],
            'z' => $row[5],
        ];
    }

相关问题