Вопрос пользователя neosolution в уроке «Вложенные массивы», курс «PHP: Массивы»

neosolution

Добрый день https://ru.hexlet.io/code_reviews/403206 Я понимаю примерно в чем ошибка, все что ниже цикла for работает, но для работы ему нужна одна важная деталь. For должен принимать одномерный массив, который включает в себя значения, которые выдал spaceship или же он должен ссылаться на эти значения, но я никак не могу догнать как это все организовать, я уверен решение будет банальное и я потом буду смеяться над этим, но сейчас я не могу догнать. Хотел бы получить подсказку.

Как сделать так, чтобы For ссылался на результат цикла foreach? Или же как из результата, который выдает foreach сделать массив?

2 0

neosolution

// ТЕСТОВЫЙ КОД

Мне на мгновение показалось что я нашел решение (может и нашел), но print_r($sum1) выводит 32 (ожидал 3)

Подскажите, в чем проблема?

$scores = [ [3, 7], [4, 1], [4, 4], [3, 5], [4, 5], [3, 2], [4, 3], [6, 5], ];

$sum1 = 0; $sum2 = 0;

foreach ($scores as $match) {

for ($i = 0; $i < count($scores); $i++)
{
    if ($scores[$i][0] < $scores[$i][1]){
            $sum2 = $sum2 + 1;
        } elseif ($scores[$i][0] > $scores[$i][1]){
            $sum1 = $sum1 + 1;
        } elseif ($scores[$i][0] = $scores[$i][1]){
            print_r(null);
     } 
} 

}

print_r($sum1);

0

Максим Литвинов

Добрый день! Подумайте, нужны ли вложенные циклы в этом упражнении. Количество элементов во вложенных массивах всегда равно двум. Первый элемент - шайбы Канады, второй - шайбы СССР.

Посмотрите на вывод вашей отладочной печати, на ней очень хорошо видно работу spaceship оператора. В вашем решении он возвращает 1 в случае победы Канады в текущей игре, -1 в случае победы СССР и 0 в случае ничьей. Подумайте, как использовать эти значения, чтобы определить результат всей суперсерии.

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг».

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Профессия

Фронтенд-программист

Разработка фронтенд-компонентов веб-приложений
25 мая 8 месяцев
Профессия

Python-программист

Разработка веб-приложений на Django
18 мая 8 месяцев
Профессия

PHP-программист

Разработка веб-приложений на Laravel
26 мая 8 месяцев
Профессия

Node.js-программист

Разработка бэкенд-компонентов веб-приложений
в любое время 8 месяцев
Профессия

Верстальщик

Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Профессия

Java-программист

Разработка приложений на языке Java
31 мая 10 месяцев
Профессия
NEW

Rails-программист

Создает веб-приложения со скоростью света
31 мая 5 месяцев

Похожие вопросы

Сергей Кавардак 12 апреля 2021 →

Почему после foreach в проверке на то, кто выиграл не получается сделать switch-case-ом? Переделал на if-el...

Вячеслав Макаров 24 марта 2021 →

Тест прошёл, но в решении учителя увидел "<=>". Не понял логики этого выражения. Как результат понимает на ...

Николай Мальчиков 02 ноября 2020 →

Добрый день. Ошибку в целом понимаю как только истина идет возврат. Но каким способом можно проверить на ра...

Alexander Karakin 12 августа 2020 →

Объясните пожалуйста вот эту строку учителя - $result += $score[0] <=> $score[1]; Вот мой [ревью] - (htt...

Ди Анжело 01 июня 2020 →

Добрый вечер. - Задачу решил, но столкнулся с непонятной для себя проблемой. При выводе printr('canada') в ...