Laravel调用array_push返回undefined offset错误的解决方法
错误原因
你出现undefined offset报错的核心原因是构造$loanChartArr的循环逻辑错误:你需要的子数组第一个元素是当前循环的月份值$j,但你错误尝试访问还未完成赋值的$loanChartArr[$j],该索引在循环阶段根本不存在。后续你加isset判断后返回的是布尔值false,自然和你期望的数字月份不符。
正确实现代码
只需要修改你构造$loanChartArr的for循环部分即可:
for($j = 1; $j <= 12; $j++){ // 对应月份有值取统计值,无值默认补0 $monthCount = !empty($chart2Array[$j]) ? $chart2Array[$j] : 0; // 直接将月份j作为子数组第一个元素推入即可 array_push($loanChartArr, [$j, $monthCount]); }
逻辑验证
修改后$loanChartArr输出结构完全匹配你的预期:1-12月作为子数组第一个值,对应统计数为第二个值,无数据月份自动补0,后续绑定到$loanTypeCount的data字段也会输出正确格式。
内容的提问来源于stack exchange,提问作者Eli
相关产品推荐
相关产品推荐

