Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修正“错误”;数组(…)与预期类型不匹配;空"&引用;_Php_Arrays_Codewars - Fatal编程技术网

Php 如何修正“错误”;数组(…)与预期类型不匹配;空"&引用;

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

在为Codewars编写kata时,我在打印值时遇到了一个错误。虽然代码的输出看起来不错,但我得到的错误是
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是一个开始一些有趣练习的好方法。