• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

求教一个数组问题

php 搞代码 4年前 (2022-01-23) 17次浏览 已收录 0个评论
文章目录[隐藏]

<body>

我现在有上面的一个数组数据,想改成下面这样,可以改吗?

主要就是想把两个数组中相同的地方合并在一起,然后将不一样的地方,再重新开个数组存起来

回复内容:

<body>

我现在有上面的一个数组数据,想改成下面这样,可以改吗?

主要就是想把两个数组中相同的地方合并在一起,然后将不一样的地方,再重新开个数组存起来

你这边应该是要一些特定字段重复取出来用吧,而不是重复的就要可以试试下面这语句本文来源gao@!dai!ma.com搞$$代^@码!网!搞gaodaima代码

<code>   $simiArray = [];    foreach($resourceArray as $rVal) {        $order_sn = $rVal['order_sn'];        $simiArray[$rVal['order_sn']]['order_sn'] = $rVal['order_sn'];        $simiArray[$order_sn]['order_add_time'] = $rVal['order_add_time'];        $simiArray[$rVal['order_sn']]['pay_amonut'] = $rVal['pay_amonut'];        unset($rVal['order_sn']);        unset($rVal['order_add_time']);        unset($rVal['pay_amonut']);        $simiArray[$order_sn]['order_detail'][] = $rVal;    }</code>

可以实现,不过标准库里应该是没有这种功能的函数的,要自己写。

现在不方便写代码,就先给个思路吧:

输入两个数组的情况下,遍历第一个数组,如果两个数组当前 key 的 value 一样,那就把这个值 push 到一个新数组里,并且从输入的两个数组中删除这个键值。如果两个数组中的值不一样就不用管。

这样处理完后我们可以得到一个储存有两个数组之间相同键值对的数组,以及两个仅储存不同的内容的数组(因为相同的在上面被删掉了),最后之要把后两个数组 push 进第一个数组即可。

PS:从数组中删除元素可能会有性能问题,可以单开两个数组储存


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:求教一个数组问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址