PHP 板


LINE

看板 PHP  RSS
※ 引述《sk1765 (爱是一种忍耐)》之铭言: : 请问有函数有这样join的功能吗 或是程式要怎麽写比较简洁 如果你的条件是 Array A 跟 Array B 以 id 做为合并的 key 而 Array A 跟 Array B 的其他 key 不会重复的话 那我是这样写的 .. <?php function array_2D_merge($arr1,$arr2,$key) { $retArr = array(); foreach($arr1 as $bemerge) { $keyval = $bemerge[$key]; foreach($arr2 as $search) { if($search[$key]==$keyval) { $retArr[] = array_merge($search,$bemerge); break; } } } return $retArr; } ?> $arr1 , $arr2 就是你两个 array $key 是你两个 array 都会有,用来合并用的 key (这边是 id) 流程就不说明了 .. input : <?php $a = array( array("id"=>"001","msg"=>"aaa"), array("id"=>"002","msg"=>"bbb"), array("id"=>"003","msg"=>"ccc") ); $b = array( array("id"=>"001","name"=>"qac"), array("id"=>"002","name"=>"swv"), array("id"=>"003","name"=>"edbv") ); ?> print_r(array_2D_merge($a,$b,"id")); output : Array ( [0] => Array ( [id] => 001 [name] => qac [msg] => aaa ) [1] => Array ( [id] => 002 [name] => swv [msg] => bbb ) [2] => Array ( [id] => 003 [name] => edbv [msg] => ccc ) ) 应该有符合你的要求吧Orz 但因为主要还是用 array_merge 所以如果两个阵列有 key 相同的状况可能会发生不可预期的结果 (其实就是後面的阵列值会覆盖上去这样XD) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.30.6
1F:推 sk1765:这样做就是两层foreach了阿 如果 $arr1 $arr2各是1000笔 03/16 19:18
2F:→ sk1765:资料的话 那要跑1000X1000 才能组合 这样达不到网页30秒的 03/16 19:20
3F:→ sk1765:限制 我现在是照前一篇讨论的 先把其中一个array的key 03/16 19:21
4F:→ sk1765:从原来的数字改成id的值当key 然後在两个array merge 这样 03/16 19:22
5F:→ sk1765:只跑两次 foreach 各1000次 共2000次 03/16 19:23
6F:→ sk1765:不过还是谢谢你帮我想程式 感谢 03/16 19:24
7F:→ MOONRAKER:对嘛 你这样做就是O(n1+n2) 很难更好了 03/16 19:35
8F:推 benck:php5限制array_merge仅可传入array,要typecast一下 03/20 10:16
9F:→ kerash:谢谢楼上@@ 没注意 03/20 11:50
10F:→ kerash:如果确定两个传入的都是 array 应该就不用改 type 了吧? 03/20 11:52







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP