Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在PHP中创建此数组?

如何在PHP中创建此数组?
EN

Stack Overflow用户
提问于 2011-04-21 17:04:46
回答 2查看 191关注 0票数 0

我有这个问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from template_product where template_id = 8 group by class_id, product_id

它会返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 template_product_id  template_step_id     step_number    product_id    class_id      template
16                   11                     1            54            1              8
17                   11                     1            56            1              8
18                   11                     1            57            1              8
19                   11                     1            58            1              8
20                   11                     1            54            2              8
21                   11                     1            56            2              8
22                   11                     1            57            2              8
23                   11                     1            58            2              8
24                   11                     1            59            2              8
25                   11                     1            60            2              8
26                   11                     1            63            2              8
27                   11                     1            64            2              8
28                   11                     1            52            2              8
29                   11                     1            54            3              8
30                   11                     1            52            3              8
31                   12                     2            61            1              8
32                   12                     2            62            2              8
33                   12                     2            61            3              8

根据这些数据,如何创建这样的数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [0] => Array
        (
            [step_number] => 1
            [first_class] => [54, 56, 57, 58]
            [second_class] => [54, 56, 57, 58, 59, 60, 63, 64, 52]
            [third_class] => [54, 52]
        )                      

    [1] => Array               
        (                      
              [step_number] => 2
              [first_class] => [61]
              [second_class] => [62]
              [third_class] => [61]
        )
)

基本上,每个步数都是一个新的数组,无论是1、2还是3,class_id都是first_classsecond_classthird_class based,最后每个product_id都在每个数组中。

有什么办法可以创建这个数组吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-21 17:44:26

这里有一个解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$records = array(
    array('step_number' => 1, 'class_id' => 1, 'product_id' => 54),
    array('step_number' => 1, 'class_id' => 1, 'product_id' => 56),
    array('step_number' => 1, 'class_id' => 1, 'product_id' => 57),
    array('step_number' => 1, 'class_id' => 1, 'product_id' => 58),
    array('step_number' => 1, 'class_id' => 2, 'product_id' => 54),
    array('step_number' => 1, 'class_id' => 2, 'product_id' => 56),
    array('step_number' => 1, 'class_id' => 2, 'product_id' => 57),
    array('step_number' => 2, 'class_id' => 2, 'product_id' => 58),
    array('step_number' => 2, 'class_id' => 2, 'product_id' => 59),
    array('step_number' => 2, 'class_id' => 2, 'product_id' => 60),
    array('step_number' => 2, 'class_id' => 2, 'product_id' => 63),
    array('step_number' => 2, 'class_id' => 2, 'product_id' => 64),
);

$new_array = array();
foreach($records as $record => $row) {
    $class = '';
    switch ($row['class_id']) {
        case '1':
            $class = 'first_class';
            break;
        case '2':
            $class = 'second_class';
            break;
        case '3':
            $class = 'third_class';
            break;
    }
    $new_array['step_number'][$row['step_number']][$class][] = $row['product_id'];
}

print_r($new_array);
?>

现在只需更新以从您的数据库中提取。

票数 1
EN

Stack Overflow用户

发布于 2011-04-21 17:50:39

像这样的东西应该是有效的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$result = array();
$currentStepNumber = null;

foreach ($table as $item)
{
    $stepNumber = $item['step_number'];

    if ($stepNumber != $currentStepNumber)
    {
        $result[] = array(
            'step_number' => $stepNumber,
            'first_class' => array(),
            'second_class' => array(),
            'third_class' => array()
        );

        $currentStepNumber = $stepNumber;
    }

    switch ($item['class_id'])
    {
        case 1:
            $result[count($result) - 1]['first_class'][] = $item['product_id'];
            break;

        case 2:
            $result[count($result) - 1]['second_class'][] = $item['product_id'];
            break;

        case 3:
            $result[count($result) - 1]['third_class'][] = $item['product_id'];
            break;

        default:

    }
}

var_dump($result);

其中$table是来自sql请求的数据。

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

https://stackoverflow.com/questions/5747356

复制
相关文章
多方安全计算(4)MPC万能积木 秘密共享
在之前的文章(多方安全计算(3)MPC万能钥匙:混淆电路)中,我们对MPC中一类通用方案混淆电路(GC)与密文比较策略做了介绍。混淆电路通过将任务抽象为电路以及对基础电路提供加密方案达到了万能钥匙的效果。在姚期智先生提出GC方案不久后,Goldreich等人[1]提出了GMW范式,给通用的密文计算任务指明了一条新的方向。
绿盟科技研究通讯
2022/11/14
1.2K0
多方安全计算(4)MPC万能积木 秘密共享
安全多方计算之前世今生
当前,数据被称为“新时代的石油”,数据只有流动(共享)起来才能产生更大的价值。各个国家已经深刻认识到了数据的重要性,并开始通过立法手段保护数据安全,各大机构/企业再希望像以前一样,粗暴的、毫无底线的收集和共享数据越来越困难。这就导致,如何在保证各机构/企业/个人数据私密性的前提下,实现多方数据的联合查询、统计与建模,成为了数据处理领域新的研究方向。
绿盟科技研究通讯
2021/09/06
1.5K0
读懂这篇,全面理解安全多方计算
上一期我们介绍了“安全多方计算”的计算过程,安全多方计算是由图灵奖获得者姚期智先生通过百万富翁问题引出的一个数据隐私保护方面的重要领域。
本体Ontology
2020/12/08
2.4K0
读懂这篇,全面理解安全多方计算
多方安全计算(6)MPC中场梳理
诚为读者所知,数据出域的限制约束与数据流通的普遍需求共同催生了数据安全计算的需求,近一两年业界又统将能够做到多方数据可用不可见的技术归入隐私计算范畴。粗略来说,隐私计算可分为以联邦学习为代表的机器学习类升级方案、以可信硬件为基础的可信执行环境类方案和以密码学相关技术为核心的多方安全计算类方案。
绿盟科技研究通讯
2023/02/22
1.8K0
多方安全计算(6)MPC中场梳理
安全多方计算、联邦学习和可信执行环境
1.多方安全计算,由姚期智院士于1982年首次提出,通过设计特殊的加密算法和协议,在无可信第三方情况下的安全计算约定函数问题,近年来,基于同态加密、秘密分享、不经意传输、混淆电路等基础技术、协议的多方安全计算逐渐得到应用(经典多方安全计算中,两方计算主要采用不经意传输与混淆电路的方案,三方以上则进一步结合了秘密分享,因此也有观点将同态加密作为一种独立于多方安全计算的隐私计算技术)。
zhangjiqun
2024/12/13
3800
安全多方计算、联邦学习和可信执行环境
安全多方计算(1):不经意传输协议
在安全多方计算系列的首篇文章(安全多方计算之前世今生)中,我们提到了百万富翁问题,并提供了百万富翁问题的通俗解法,该通俗解法可按图1简单回顾。
绿盟科技研究通讯
2021/12/05
3.2K0
安全多方计算(1):不经意传输协议
Shamir秘密共享
保险柜中存放有10个人的共有财产,要从保险柜中取出物品,必须有半数以上的人在场才可取出,半数以下则不行。如何构造锁的设计方案?
zhangjiqun
2024/12/14
1680
Shamir秘密共享
小程序也可以用来挖掘App流量吗?
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
二山山记
2022/09/30
1.4K0
安全多方计算:在不可信环境中创建信任
术语“安全多方计算”(Secure Muti-party Computation,简称MPC,亦可简称SMC或SMPC)是指一组算法,这些算法允许人们通过网络协同工作,并安全地获取结果或计算值,且确保这一数值的正确性。
FB客服
2021/08/24
1K0
云服务器可以用来挂网页游戏吗?
云服务器可以用来挂网页游戏吗?购买云服务器用于挂机的话,要选择windows server 操作系统。购买之后,进入主机控制台,根据提示登陆云服务器。 1、登陆后,如果需要挂网页游戏,点击服务器的左
用户7261497
2020/05/20
21.8K0
云服务器可以用来挂网页游戏吗?
秘密共享—隐私计算和区块链共识中的榫卯
2018年5月正式生效的GDPR是欧盟“史上最严”条例,是数十年来数据安全和数据隐私法规方面最重要的一次变化。随后,2019年生效的加州CCPA,对个人数据及信息保护提出了严格的界定和保护要求。至此,GDPR和CCPA对欧美国家在数据安全和隐私行业的立法产生了持续的影响。在我国,2021年6月10日,中华人民共和国第十三届全国人民代表大会常务委员会第二十九次会议正式表决通过了《中华人民共和国数据安全法》。历经三次审议和修改通过的《数据安全法》将于2021年9月1日正式施行。在数据安全和隐私保护方面,企业合规性是一个迫在眉睫的事情。
绿盟科技研究通讯
2021/09/06
3.7K0
多方安全计算(3)MPC万能钥匙:混淆电路
我们在讲解不经意传输(Oblivious Transfer,OT)的文章(安全多方计算(1):不经意传输协议)中提到,利用n选1的不经意传输可以解决百万富翁问题(两位富翁Alice和Bob在不泄露自己真实财富的情况下比对出谁更有钱),过程如图1所示,具体过程不再展开描述。
绿盟科技研究通讯
2022/11/14
1.3K1
多方安全计算(3)MPC万能钥匙:混淆电路
安全多方计算:(2)隐私信息检索方案汇总分析
多头贷问题是网络小额贷款平台放款时所要考虑的一个重要问题。假设银行A有一潜在贷款客户小张,银行A为了足够多的了解小张的信用情况,希望向其他多家银行查询小张贷款情况或信用记录。但因为害怕其他银行抢走该客户,所以银行A不希望泄露自己在查询小张这一事实。是否可以通过技术手段解决银行A的诉求?答案是肯定的,即图1漫画中的“隐私信息检索技术”——一种不泄露查询条件和查询结果的加密技术。
绿盟科技研究通讯
2022/03/11
5.6K1
安全多方计算:(2)隐私信息检索方案汇总分析
安全多方计算(5):隐私集合求交方案汇总分析
随着数字经济时代的到来,数据已成为一种基础性资源。然而,数据的泄漏、滥用或非法传播均会导致严重的安全问题。因此,对数据进行隐私保护是现实需要,也是法律要求。隐私集合求交(Private Set Intersection, PSI)作为解决数据隐私保护的方案之一,受到广泛关注和研究。
绿盟科技研究通讯
2022/11/14
3.9K0
安全多方计算(5):隐私集合求交方案汇总分析
从这5个场景, 看MPC多方安全计算的行业应用
在我们之前的“多方安全计算”系列文章中,我们首先通过姚期智教授的“百万富翁问题”引出了数据安全计算这个密码学话题,并介绍了多方安全计算在数据隐私中的应用场景。第二期中,我们又简要的介绍了两种“多方安全计算”的技术路线以及理论知识。
区块链大本营
2019/07/23
5.1K0
腾讯云安全隐私计算——多方联邦在广告营销的新突破
2021年初腾讯云大数据团队和 WPP、TalkingData 达成了基于“腾讯云安全隐私计算”平台的广告业务合作,并携手保乐力加完成了多方联邦学习在广告营销领域的首个落地实践,经过几个月的模型调优及放量测试,多方联合建模在信息流广告投放场景获得了显著效果,为隐私计算在广告领域的应用取得了突破性进展,为广告行业的创新模式树立了新的标杆。 一、打破数据孤岛,赋能广告营销 在大数据及人工智能飞速发展的今天,法律法规和信任问题严重阻碍了企业之间的数据流通,数据孤岛问题像一只无形的手挡在了企业之间,限制了诸多有
腾讯云大数据
2021/07/29
1.7K0
Python可以用来做什么?
Python可以做什么?其实Python是一门强大的语言,下面给大家简单讲讲它的用途: 系统管理工具 Python从创立之初就是为了提升系统管理效率而开发的。管理员的脚本只需要写一次,就可以运行在不同的操作系统上。借助Python简洁高效的语法,Python在复杂系统管理任务上的开发效率远高于Shell,而且执行效率也是远高于需要不停进程切换的Shell。 Web开发 随着互联网的发展,很多以互联网为基础的编程语言被发明出来,但Python在Web开发领域仍然占有一席之地。比如著名的一站式Web框架Djan
企鹅号小编
2018/01/19
1.6K0
Python可以用来做什么?
云计算安全风险:你的行业安全吗?
信息安全解决方案并非万能,在制定计划前,你需要将行业特性考虑在内。 涉及到企业云部署带来的安全风险及危险时,更是如此。正因如此,CloudLock的第四季度网络安全报告中提到了八个不同行业的云计算威胁以及预防措施。 首先,让我们看下共同的趋势。零售业,高等教育,K-12教育,政府,科技,金融服务,制造业,医疗行业都面临着以下的隐忧: 1:账号被盗 2:云恶意软件 3:数据过度暴露 4:个人身份信息(PII)及支付卡信息(PCI)数据泄露 5:协作 也许企业能做的最简单的保护云计算用户的是保护他们的证书,即他
静一
2018/03/23
2.1K0
你对Redis的使用靠谱吗?Redis的性能高,吗?Redis可以保证原子性,吗?用Redis可以实现事务,吗?用Redis可以当队列,吗?Redis适合用来做什么?
redis Redis是个流行的in-momery存储。接口好用,性能也很强,还支持多种数据结构,加上各种HA和Cluster方案,实在是居家旅行、杀人灭口、必备良药。 必备良药 但是就是因为太好用了,好用到让很多人都晕了脑子: 用Redis性能就大大提高了 用Redis可以保证原子性 用Redis可以实现事务 用Redis可以当队列 …… 这就好像一个股民,在手机上操作买卖几笔股票,赚了一些,然后感叹道"股市就是为我发财而存在的啊"!! 他的下场可想而知。 Redis的种种优势源自于他的设计——简单直接的
大宽宽
2018/05/14
3.8K0
你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?
Ipywidgets在Jupyter生态系统中扮演着重要角色,它带来了用户和数据之间的互动。小工具组件是多种的Python对象,通常在Jupyter Notebook或JupyterLab中具有可视化表示:按钮,滑块,文本输入,复选框等。
Python数据科学
2018/12/17
2K0
你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?

相似问题

具有秘密输出的安全多方计算

10

这会是一个安全的多方秘密共享方案吗?

10

沙米尔秘密共享-如何重建秘密?示例

10

多方秘密生成协议

20

关于安全多方计算的问题

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文