@Korifa

Почему ошибка в программе?

начал книжку читать, в задании требуется получить общую сумму жителей для каждого штата (штат средней значение в массиве),
при запуске появляется 4 ошибки Undefined offset что то не получается додуматься почему
$usa = [['Los-Angeles', 'Californiy', 3792621], ['San-Diego', 'Californiy', 1307402], ['San-Xose', 'Californiy', 945942],
['Dallas', 'Texas', 1197816], ['San-Antonio', 'Texas', 1327407], ['Xiqston', 'Texas', 2100263], ['Feladelfiy', 'Pensilvaniy', 1526006],
['Feniks', 'Arizona', 1445632], ['Chicago', 'Ilynois', 2695598]];
unset($totals);
unset($my1);
$my1 = array();
for ($i = 0; $i < count($usa); $i++) {

if (!array_key_exists($usa[$i][1], $my1)) {
$my1[$usa[$i][1]] = $usa[$i][2];
} else {
$my1[$i] += $usa[$i][2];
}
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
proudmore
@proudmore
Ваш код практически не читается.

Вот вам решение:
<?php

$usa = [
    ['Los-Angeles', 'Californiy', 3792621],
    ['San-Diego', 'Californiy', 1307402],
    ['San-Xose', 'Californiy', 945942],
    ['Dallas', 'Texas', 1197816],
    ['San-Antonio', 'Texas', 1327407],
    ['Xiqston', 'Texas', 2100263],
    ['Feladelfiy', 'Pensilvaniy', 1526006],
    ['Feniks', 'Arizona', 1445632],
    ['Chicago', 'Ilynois', 2695598]
];

$summary = [];

foreach ($usa as $item){

    $state = $item[1];
    $peoples = $item[2];

    if(array_key_exists($state, $summary)){
        $summary[$state] += $peoples;
    } else {
        $summary[$state] = $peoples;
    }
}

print_r($summary);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@facir
поставь еще одну скобку внизу }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы