Недавно я задал вопрос о слиянии значений массивов в массиве массивов в php и получил правильный ответ, как бы он ни возникал с проблемами, которые я не могу понять независимо от дампов var или echos I place.
Используя тот же пример массива и предоставляемое решение, если я это сделаю:
$result = array(); if(is_array($ticketLabors) && !empty($ticketLabors)){ foreach ($ticketLabors as $innerArray) { foreach ($innerArray as $key=>$value) { $result[$key] = number_format($result[$key] + $value, 2); } } } var_dump($result);
На таком массиве:
array(2) { [0]=> array(10) { ["ticket_labor_ot_travel_c"]=> string(5) "34.50" ["ticket_labor_travel_c"]=> string(5) "23.00" ["ticket_labor_ot_c"]=> string(5) "34.50" ["ticket_labor_reg_c"]=> string(5) "23.00" ["ticket_labor_user_id"]=> string(3) "319" ["ticket_labor_tot_hours"]=> string(4) "0.50" ["ticket_labor_reg_hours"]=> string(4) "0.50" ["ticket_labor_ot_hours"]=> string(4) "0.00" ["ticket_labor_travel_hours"]=> string(4) "0.00" ["ticket_labor_ot_travel_hours"]=> string(4) "0.00" } [1]=> array(10) { ["ticket_labor_ot_travel_c"]=> string(4) "0.00" ["ticket_labor_travel_c"]=> string(4) "0.00" ["ticket_labor_ot_c"]=> string(4) "0.00" ["ticket_labor_reg_c"]=> string(4) "0.00" ["ticket_labor_user_id"]=> string(1) "0" ["ticket_labor_tot_hours"]=> string(4) "0.00" ["ticket_labor_reg_hours"]=> string(4) "0.00" ["ticket_labor_ot_hours"]=> string(4) "0.00" ["ticket_labor_travel_hours"]=> string(4) "0.00" ["ticket_labor_ot_travel_hours"]=> string(4) "0.00" } }
(имея в виду, что, как и предыдущий вопрос, у вышеупомянутого массива может быть 70 массивов внутри него)
Я возвращаю что-то вроде:
array(10) { ["ticket_labor_ot_travel_c"]=> string(5) "0.00" ["ticket_labor_travel_c"]=> string(5) "0.00" ["ticket_labor_ot_c"]=> string(5) "0.00" ["ticket_labor_reg_c"]=> string(5) "0.00" ["ticket_labor_user_id"]=> string(5) "0.00" ["ticket_labor_tot_hours"]=> string(4) "0.00" ["ticket_labor_reg_hours"]=> string(4) "0.00" ["ticket_labor_ot_hours"]=> string(4) "0.00" ["ticket_labor_travel_hours"]=> string(4) "0.00" ["ticket_labor_ot_travel_hours"]=> string(4) "0.00" }
Один массив, при котором все массивы предыдущего массива сжаты и их значение $key=>$value
добавлено вместе.
В чем проблема? где я var_dump
или echo
, будь то $key
$value
, $value
или даже $innerArray
В итоге я получаю тонны уведомлений:
Примечание . Неопределенный индекс: ticket_labor_ot_travel_hours в C: \ xampp \ htdocs \ rms \ site \ web \ module \ Report \ controller \ Index.controller.php в строке 146
каждое уведомление различно для каждого ключа в $innerArray
. Поэтому я думал, что давайте сделаем if(isset($key) && isset($value)){ ... }
Нет, та же проблема.
Я проверил внешний массив и могу gaurentee, что то, что приходит, – это то, что я хочу, все ключи установлены.
Если вам интересно, что такое строка 146 : $result[$key] = number_format($result[$key] + $value, 2);
Любая помощь?