亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

排序數組和比較數組值php

排序數組和比較數組值php

PHP
幕布斯6054654 2023-03-04 10:58:46
大家好,我正在使用 ChartJs 和 Laravel 在圖表上繪制數據,我需要根據月份繪制數據,我希望即使沒有數據也能在圖表上顯示整個 12 個月,我有幾個月的數組 ['January', 'February'....然后我在這里有我的數據:     $stats = DB::table('wallet_payouts')        ->groupBy('date')        ->orderBy('date', 'ASC')        ->get([            DB::raw('DATE_FORMAT(created_at, "%M") as date'),            DB::raw('COUNT(*) as value')        ]);    $labels = [];    $data = [];    foreach ($months as $month){        foreach ($stats as $stat){            if ($month == $stat->date){                array_push($labels, $stat->date);                array_push($data, $stat->value);            }else{                array_push($labels, $month);                array_push($data, 0);            }        }    }但問題不是循環后 12 個月,我得到 24...重復,數據也在 24...我希望月份與沒有重復的數據匹配
查看完整描述

1 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

試試下面的代碼:


$stats = DB::table('wallet_payouts')

        ->groupBy('date')

        ->orderBy('date', 'ASC')

        ->get([

            DB::raw('DATE_FORMAT(created_at, "%M") as date'),

            DB::raw('COUNT(*) as value')

        ]);


$labels = $months;

$data = [];

$temp = [];

foreach ($stats as $stat){

    $temp[$stat->date] = $stat->value;

}

foreach($months as $month){

    if(array_key_exists($month,$temp)){

        array_push($data, $temp[$month]);

    } else {

        array_push($data, 0);

    }

}


查看完整回答
反對 回復 2023-03-04
  • 1 回答
  • 0 關注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號