Не могу сложить значения одного массива по ключам?
Проще sql поправить: Добавьте SUM на plus и группировку по дате, и ненужно будет в php ничего складывать.
Спасибо всем.
Решение такое:public function getMaxMonth($min,$max)
    {
        //$min = $this->find()->select(['plus','date_op'])->where(['user_id' => yii::$app->user->getId()])->andWhere(['between','date_op', $min, $max + 3600 *24])->asArray()->all();
        $min = $this->find()->select(['SUM(plus) as plus','DATE_FORMAT(FROM_UNIXTIME(`date_op`), \'%d.%m.%Y\') as date_op'])->where(['user_id' => yii::$app->user->getId()])->andWhere(['between','date_op', $min, $max + 3600 *24])->orderBy('date_op')->groupBy('date_op')->asArray()->all();
        $new = [];
        foreach($min as $k) {

            //Функция сложения дат и доходов
            $new[(int) $k['date_op']] = $k['plus'];
            //$new[(int) date('d',$k['date_op'])] += $k['plus'];
        }
      //  $diff = Enum::dateList(1,31);
        $newdiff = [];
//        foreach($diff as $key => $value) {
//            $newdiff[$key] += 0;
//        }
        for($i = 1; $i<32; $i++) {
            $newdiff[$i] = 0;
        }
        $new = ArrayHelper::merge($new,$newdiff);
  
        return $new;
    }
Функция выводит сумму колонок Plus за месяц по числам, если значения на число нет, то 0, а теперь не могу за год сделать выборку, с += было проще, public function getMaxYear()
    {
        $now = date('m',time());
        $startyear = strtotime(date("Y-1-1"));
        $year = [];
        for($i = 1; $i < $now + 1; $i++) {
            $diff = $this->getMaxMonth(strtotime(date("Y-$i-1")),strtotime(date("Y-$i-31")));
            foreach($diff as $k)
            {
                $year[$i] += $k;
            }

        }
        return $year;
    }