如何组合到chartjs宽度php的数组

如何组合到chartjs宽度php的数组,php,jquery,ajax,chart.js,Php,Jquery,Ajax,Chart.js,我需要帮助如何使数组数据的php代码到chartjs,我使用2表,我希望生成如下数组代码 function revenueCost(year) { $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name=\'csrf-token\']').attr('content') }, url: url, data: { year: $('#ye

我需要帮助如何使数组数据的php代码到chartjs,我使用2表,我希望生成如下数组代码

function revenueCost(year) {
    $.ajax({
        headers: {
            'X-CSRF-TOKEN': $('meta[name=\'csrf-token\']').attr('content')
        },
        url: url,
        data: {
            year: $('#year').val(),
        },
        type: 'POST',
        dataType: 'JSON',
        success:function(data){
            // console.log(data);
            $('#revenue-cost').empty();
            var myChart = new Chart(document.getElementById('revenue-cost'), {
                type: 'bar',
                data: {
                    labels: data.label,
                    datasets: [{
                        label: 'Revenue',
                        data: data.revenue,
                        borderWidth: 0.5,
                        borderColor: '#00642c',
                        backgroundColor: 'rgba(0,100,44,0.2)'
                    },{
                        label: 'Cost',
                        data: data.cost,
                        borderWidth: 0.5,
                        borderColor: '#a80e19',
                        backgroundColor: 'rgba(168,14,25,0.2)'
                    }]
                },
                options: {
                    scales: {
                        yAxes: [{
                            ticks: {beginAtZero: true}
                        }]
                    }
                }
            });
        },
    });
}
我想制作这样的数组

{"label":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"revenue":[105,85,55,68,72,8,0,0,0,0,0,0],"cost":[41,32,22,23,26,3,0,0,0,0,0,0]}
像这样的图表视图

在我看来,解决方案可能很简单:

  • 向PHP文件发送POST HTTP请求
  • 验证您是否有带有if语句和isset($\u POST)的POST请求
  • 准备或提取数据,并创建与下一个类似的关联数组:
  • 如果在数组之间划分数据,只需将它们与数组合并,并将结果存储在新变量中

  • 最后,在$.ajax中捕获响应,并执行您想要对数据执行的操作
  • 我希望这些信息对你有用

    $label_data = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
    $revenue_data = [105,85,55,68,72,8,0,0,0,0,0,0];
    $cost_data = [41,32,22,23,26,3,0,0,0,0,0,0];
    
    $data = [
        'label'   => $label_data,
        'revenue' => $revenue_data,
        'cost'    => $cost_data
    ];
    
    echo json_encode($data);
    
    $label_first = ["Jan","Feb","Mar","Apr","May","Jun"];
    $label_second = ["Jul","Aug","Sep","Oct","Nov","Dec"];
    $label_data = array_merge($label_first, $label_second );