我有一个功能,如:
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 语句,但最后它会再次循环并执行进一步的代码。
有人能告诉我如何通过验证转移到另一个功能来正确解决这个问题吗?
精慕HU
跃然一笑