我研究了一种可能的解决方案 . 它正在使用 while(true)
和 break
解决方案是使用 while(true)
和 break
- 这不是干净的代码解决方案 . 我想要另一个干净的解决方案,没有奇怪的结构,如 while(true)
.
你能帮我找一个避免重复的明确解决方案吗?
$recommendations_next_months = [];
$monthNumber = 2;
$recommendations_products_ids_next = salient_child_get_next_products_ids_recommendations_bunch(
$recommendations,
$recommendations_groups,
$excluded_products_ids,
3
);
while ( !empty( $recommendations_products_ids_next ) ) {
$recommendations_next_months[] = [
'title' => "Рекомендации на $monthNumber месяц",
'products-ids' => $recommendations_products_ids_next,
];
$recommendations_products_ids_next = salient_child_get_next_products_ids_recommendations_bunch(
$recommendations,
$recommendations_groups,
$excluded_products_ids,
3
);
$monthNumber++;
}
也许有没有办法实现这一点而不使用 while
?提前致谢!
1 回答
执行后续操作的一种更常见的方法是在实际
while()
本身中分配$recommendations_products_ids_next
,因此这将获取下一个项目并在值评估为false
时终止(您可能需要添加!empty()
但如果它工作则会更好) .虽然这些名称使它非常易读,但它也使代码很长,较短的名称通常更合适 .