为PHPUnit 5.7.23中的foreach()提供的参数无效

为PHPUnit 5.7.23中的foreach()提供的参数无效,php,foreach,phpunit,Php,Foreach,Phpunit,当我运行由塞巴斯蒂安·伯格曼和贡献者编写的PHPUnit 5.7.23中的以下代码时,在代码战上不断出现错误 错误:为foreach()提供的参数无效 代码: if(is_array($no_dups)){ foreach ($no_dups as $key => $value) { if ($value <= $t) { $limited[$key] = $value; }

当我运行由塞巴斯蒂安·伯格曼和贡献者编写的PHPUnit 5.7.23中的以下代码时,在代码战上不断出现错误

错误:为foreach()提供的参数无效

代码:

if(is_array($no_dups)){
        foreach ($no_dups as $key => $value) {
            if ($value <= $t) {
                $limited[$key] = $value;
            }
        }
    }
if(is_数组($no_dup)){
foreach($key=>$value时无重复){
如果($value$value){
如果($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($key时没有重复){

如果($value
foreach($key){
foreach也这样做时会出错吗?我猜你的数组结构不像字典(作为键->值对)如果我错了,请纠正我。我不知道这与PHPUnit有什么关系,但PHPUnit 5已经死了很多年了。@Ali Beyit它似乎可以正常工作$key@Sebastian伯格曼,它在我的终端工作得很好。(这并不意味着什么)谢谢阿里和塞巴斯蒂安花时间回答我的问题:)
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;