【发布时间】:2019-05-27 05:20:19
【问题描述】:
我有这样的功能:
public function checkItems(int $id, array $items)
{
$this->validateItems($id, $items);
foreach($items as $item) {
...// further code
}
return $items;
}
private function validateItems(int $id, array $items)
{
foreach ($items as $item) {
if (!is_int($item->itemId)) {
continue;
}
}
}
问题是当我写这个时:
if (!is_int($item->itemId)) {
continue;
}
在函数 checkItems() 内部(没有移动到另一个)它完美地工作,因为如果项目错误,..//更多代码不会被执行。如果信息无效,它基本上会返回 $items。
但是当我将验证移到另一个函数中时,尽管有 continue 语句,但最后它会再次循环并执行进一步的代码。
有人能告诉我如何通过验证转移到另一个函数来正确解决这个问题吗?
【问题讨论】:
标签: php