В PHPUnit 5.7.23 указан неверный аргумент для foreach () - PullRequest
0 голосов
/ 09 января 2020

Постоянно получайте сообщение об ошибке CodeWars , когда я запускаю следующий код в PHPUnit 5.7.23 от Себастьяна Бергманна и авторов.

Ошибка: Указан неверный аргумент для foreach ()

Код:

if(is_array($no_dups)){
        foreach ($no_dups as $key => $value) {
            if ($value <= $t) {
                $limited[$key] = $value;
            }
        }
    }

$ no_dups - это массив!

Также

if(is_array($no_dups)){
        foreach ($no_dups as $key => $value) {
            if ($value < $t) {
                $limited[$key] = $value;
            }
        }
    }

не возвращает ошибок.

Не уверен, что я делаю не так ...

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

foreach ($no_dups as $key ) {  
        if ($value <= $t) {
                $limited[$key] = $value;
        }
    }   

    $final_three = array_slice($limited, -3, $k);

    $best = array_pop($final_three);

  return $best;

}

Ошибка


foreach ($no_dups as $key ) {  
        if ($value <= $t) {
                $limited[$key] = $value;
        }
    }   

    $final_three = array_slice($limited, -3, $k);

    $best = array_pop($final_three);

  echo $best;

выдает без ошибок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...