Php 如何修正“错误”;数组(…)与预期类型不匹配;空"&引用;
在为Codewars编写kata时,我在打印值时遇到了一个错误。虽然代码的输出看起来不错,但我得到的错误是Php 如何修正“错误”;数组(…)与预期类型不匹配;空"&引用;,php,arrays,codewars,Php,Arrays,Codewars,在为Codewars编写kata时,我在打印值时遇到了一个错误。虽然代码的输出看起来不错,但我得到的错误是Array(…)与预期的类型“NULL”不匹配。 你知道我可以在代码中修改什么来返回字符串吗 函数反向seq($n){ $n=范围($n,1); foreach($n作为$i){ 如果($i>1){ 印刷品($i.“,”); $i--; }否则{ 印刷品(一元);; } } } 当$n为3时,输出将按原样打印3,2,1。但是,它应该以字符串而不是整数的形式返回。欢迎使用Codewars和S
Array(…)与预期的类型“NULL”不匹配。
你知道我可以在代码中修改什么来返回字符串吗
函数反向seq($n){
$n=范围($n,1);
foreach($n作为$i){
如果($i>1){
印刷品($i.“,”);
$i--;
}否则{
印刷品(一元);;
}
}
}
当
$n
为3时,输出将按原样打印3,2,1。但是,它应该以字符串而不是整数的形式返回。欢迎使用Codewars和Stack Overflow
对于Codewars katas,您需要将值返回测试函数,然后该函数将对其进行验证。打印到标准输出有助于调试,但与测试的通过/失败结果无关<代码>数组(…)与预期的类型“NULL”不匹配。
是一条一般的PHPUnit失败断言消息,它碰巧没有特别有用:它不显示预期数组的内容,也不按正确的顺序记录实际值和预期值。kata的作者将参数颠倒为$this->assertEquals(reverseSeq(5),[5,4,3,2,1])
,因此Array(…)
是测试套件期望的值,NULL
是函数返回的值)
试着简单地说:
function reverseSeq($n) {
return range($n, 1);
}
测试跑步者的结果:
您已通过所有测试!:)
这个问题毫无意义,但删除$i--我感觉你在寻找内爆(',',范围($n,1))代码>,但这只是猜测。是否要将整数转换为字符串?那可能对你有帮助。谢谢你的解释。我是一个新的程序员,因为我正在从网络管理转换到编程。看来我想得太多了,没问题。一旦你掌握了诀窍,Codewars是一个开始一些有趣练习的好方法。