Работа с данными при включенном выводе ошибок

201
25 марта 2018, 22:19

Делаю проект на laravel. Идеология такая, что даже предупреждений быть не должно.

Столкнулся вот с чем, надо перебрать массив и записать в отдельный сумму элементов.

Массив для перебора:

array(
 [0]=>
  object(stdClass)#631 (7) {
    ["value"]=> 153,
    ["name"]=> "elem1"
  }
  [1]=>
  object(stdClass)#632 (7) {
    ["value"]=> 1700,
    ["name"]=> "elem2"
  }
  [2]=>
  object(stdClass)#633 (7) {
    ["value"]=> 100,
    ["name"]=> "elem1"
  }
)

Пишу такой код:

foreach($results as $res){
    $naw_arr[$res->name] += $res->value;
}

Получаю:

Undefined index: elem1

Делать проверки внутри цикла, мне кажется, слишком затрудняющий понимание способ, особенно если учесть масштаб проекта.

Есть способ проще?
Или вообще отключить вывод ошибок и всё будет работать в таком виде?

Answer 1
foreach($results as $res){
    $naw_arr[$res->name] += $res->value;
}

Когда первый раз происходит итерация, то получается сложение с еще не существующим элементом, отсюда и ошибка.

Как один из вариантов, достаточно сделать так:

$naw_arr = array();
foreach($results as $res){
    if (!isset($naw_arr[$res->name])) $naw_arr[$res->name] = 0;
    $naw_arr[$res->name] += $res->value;
}

P.S. Вывод ошибок в любом случае на продакшине должен быть отключен, в режиме разработки их надо видеть если они есть и исправлять.

READ ALSO
Настройка выпадающего меню

Настройка выпадающего меню

Есть выпадающее меню на сайте сделаное на PHPПосле выбора авто в Title оно не добавляется, а остается как и есть "Марка"

179
Дублирование ответов бота сообщества / callback vk api

Дублирование ответов бота сообщества / callback vk api

ЗдравствуйтеПишу бота для сообщества на php, используя callback api

219
Laravel Passport oAuth

Laravel Passport oAuth

Пытаюсь разобраться с oauthЧто сделано: - установлен Passport и auth - запущены миграции и т

189
require с параметрами php

require с параметрами php

Здравствуйте, не могу понять, как сделать require с параметрами get

211