PHP 板


LINE

看板 PHP  RSS
假设我目前有一个阵列如下 array( ["AssetsAbstract"]=> array { ["label"]=>"AssetsAbstract", ["belong"]=>"BalanceSheet", ["order"]=>"1.0" } ["BalanceSheet"]=> array { ["label"]=>"BalanceSheet" } ["OtherFinancialAssetsCurrent"]=> array { ["label"]=>"OtherFinancialAssetsCurrent", ["belong"]=>"CurrentAssetsAbstract", ["order"]=>"14.0" } ["CurrentAssetsAbstract"]=> array { ["label"]=>"CurrentAssetsAbstract", ["belong"]=>"AssetsAbstract", ["order"]=>"1.0" } ["HedgingDerivativeAssetsCurrent"]=> array { ["label"]=>"HedgingDerivativeAssetsCurrent", ["belong"]=>"CurrentAssetsAbstract", ["order"]=>"5.0" } ) 阵列中每一个元素的belong指定了从属性,说明属於哪一个母元素 order指定了当有多个元素隶属於同一个母元素时,其各个子元素排列顺序为何 没有belong时,则原则上相对不主动变动他在阵列中的位置 我想要让他排序之後可以变成这样的顺序: array( ["BalanceSheet"]=> array { ["label"]=>"BalanceSheet" } ["AssetsAbstract"]=> array { ["label"]=>"AssetsAbstract", ["belong"]=>"BalanceSheet", ["order"]=>"1.0" } ["CurrentAssetsAbstract"]=> array { ["label"]=>"CurrentAssetsAbstract", ["belong"]=>"AssetsAbstract", ["order"]=>"1.0" } ["HedgingDerivativeAssetsCurrent"]=> array { ["label"]=>"HedgingDerivativeAssetsCurrent", ["belong"]=>"CurrentAssetsAbstract", ["order"]=>"5.0" } ["OtherFinancialAssetsCurrent"]=> array { ["label"]=>"OtherFinancialAssetsCurrent", ["belong"]=>"CurrentAssetsAbstract", ["order"]=>"14.0" } ) 即依据belong和order 把子元素放在所属母元素後面 请各位高手指点一下方向… 我想破头都想不出来怎麽搞… 之所以会有这个问题是因为会计科目的问题 我自己尝试使用quicksort如下,还是没办法顺利排出来: function quicksort($arr) { if(!isset($arr[2])) { return $arr; } $piv = $arr[0]; $x = $y = array(); $len = count($arr); $i = 1; while($i < $len) { if( $arr[$i]['belong'] == $piv['label'] ) { $y[] = $arr[$i]; } else { $x[] = $arr[$i]; } ++$i; } return array_merge(quicksort($x), array($piv), quicksort($y)); } 如蒙解惑,不胜感激! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.151.251 ※ 编辑: dowbatw 来自: 114.46.151.251 (12/31 01:32) ※ 编辑: dowbatw 来自: 114.46.151.251 (12/31 01:40)
1F:→ dowbatw:今天彻夜用了quicksort还是排不出来… 12/31 10:14
※ 编辑: dowbatw 来自: 114.46.118.220 (12/31 10:35)
2F:推 kuAIpAI:你要不要考虑再说清楚点~ 哈哈 我不太懂需求 12/31 11:24
3F:→ kuAIpAI:是要用 ORDER 数字大小作排序? 12/31 11:24
4F:→ dowbatw:谢谢,我想说得更清楚应该是「关联」「从属」等…这样应该 12/31 12:09
5F:→ dowbatw:可以了吧? 12/31 12:09
6F:→ dowbatw:「树状结构」 12/31 12:10
7F:→ MOONRAKER:这不是排序…照我看取出来再依序塞回新阵列比较快。 12/31 12:48
8F:→ kuAIpAI:你要不要考虑 将资讯弄成 ABC 这种一看就懂得~ 12/31 14:01
9F:→ kuAIpAI:然後 再用相同方式说 你想排成怎样~ 哈哈 12/31 14:02
10F:→ kuAIpAI:或许比较帮助 我们了解你想要的 12/31 14:02
想不到我的文意有这麽难理解…… 节录资产负债表如下图 资产负债表   资产    流动资产     其他金融资产-流动     存货      存货-制造业       存货-制造业净额      存货合计     其他流动资产      递延所得税资产-流动      受限制资产      其他流动资产-其他      其他流动资产合计 假设一个科目就是一个项目 我所得到的资料里面可以知道任一个项目的从属性 例如「受限制资产」属於「其他流动资产」 (即根据前文所述的belong值) 又「其他流动资产」的所有子项目中, 「受限制资产」排在「其他流动资产-其他」前面 在「流动资产」的所有子项目中, 「存货」排在「其他流动资产」前面 (即根据前文所述order值) 我现在只能得到各个项目的资料(在一个阵列中) 要如何重新依照上面所说的从属关系以及先後顺序关系 重新排列阵列 这就是我的问题,谢谢各位了! ※ 编辑: dowbatw 来自: 114.46.118.220 (12/31 14:17) ※ 编辑: dowbatw 来自: 114.46.118.220 (12/31 14:19)
11F:→ bmyone:项目固定,每个项目给个sort key就可以了 12/31 21:17
13F:→ guardlan:你是要做像这样的表? 12/31 22:09
14F:→ dowbatw:请教bmyone前辈的微言大意 12/31 23:33







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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP