首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >嵌套foreach,如何更高效

嵌套foreach,如何更高效
EN

Stack Overflow用户
提问于 2019-03-12 03:58:05
回答 1查看 37关注 0票数 -1

首先,你好,我目前正在制作一个报告系统,它接受6个字段(6个选择,它们都是倍数)。

我以数组的形式接收它们的输入,并且需要处理每个字段的每个值

例如,让我们给出字段A、B和C。

字段A具有值1、2、3。

字段B的值为4、5、6。

字段C的值为7、8、9。

我需要让代码像这样运行并返回

代码语言:javascript
复制
1-4-7
1-4-8
1-4-9
1-5-7
1-5-8
1-5-9
( And so on )

实际上,我是通过嵌套几个foreach来做到这一点的,但我认为这是低效的(我花了大约30到35秒来做循环(没有考虑我在其中做的MySQL查询)。

有没有一种更有效的方法来做到这一点?

编辑

按照评论的要求,我得到了一个示例

代码语言:javascript
复制
// I'm ignoring SQL Injection since it is a example only
$status = explode("-", $_POST['status']);
$type = explode("-", $_POST['type']);
$store = explode("-", $_POST['store']);

foreach($status as $statusKey => $statusID) {
    foreach($type as $typeKey => $typeID) {
        foreach($store as $storeKey => $storeID) {
            echo $statusID." - ".$typeID." - ".$storeID.PHP_EOL;
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 04:27:47

您需要做的是在循环中准备一条语句,并在循环外执行它,因此您将拥有如下内容:

代码语言:javascript
复制
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

更多信息请点击这里:https://dev.mysql.com/doc/refman/8.0/en/insert.html

在没有插入的情况下,这段代码应该非常快,因为这是非常基本的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55109456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档