【发布时间】:2019-03-21 13:30:50
【问题描述】:
这是我第一次用 PHP 编码。我正在尝试返回一个数组,其中包含每种现金的数量
public function test($a){
$a = [];
$cash = array(
'20' => 0,
'30' => 0,
'40' => 0,
'50' => 0,
'60' => 0,
'70' => 0,
'80' => 0,
);
foreach($a as $k => $v) {
if (array_key_exists("$k",$cash) && $v!= null ) {
$cash[$k] += 1;
}
}
return $cash;
}
当我尝试测试代码时出现错误:Invalid argument supplied for foreach()
【问题讨论】:
-
这个函数怎么称呼?
-
我用 PHPÙnit 测试它,我打电话给
$this->assertEquals($expected, $this->TestClass->findCashPayment($a)); -
我看不到 foreach 在这里如何失败,因为您将 $a 重新定义为一个空数组。您确定这是您的单元测试中失败的行吗?或者您在运行测试后是否进行了任何更改?
-
请用您的真实问题、您提供给该函数的输入以及您期望的输出来编辑您的问题
-
如果
$a为空,foreach(循环遍历其每个元素)将什么也不做。这可能就是测试失败的原因;)