我有這樣的數組:破滅PHP數組格式的文本
array(122) {
["1AB168820010"]=> array(3) {
["MACHINE_NAME"]=> "L1XP2A"
["FEEDER_SLOT"]=> "114"
["REJECT_RATE"]=> float(0.0394)
["DEFECT_QTY"]=> int(2)
["SOLDER BALL"]=> int(2)
}
["1AB037870031"]=> array(5) {
["MACHINE_NAME"]=> "L2CP7A"
["FEEDER_SLOT"]=> "155"
["REJECT_RATE"]=> float(2.3022)
["DEFECT_QTY"]=> int(39)
["COMPONENT TOMBSTONED"]=> int(31)
["SOLDER BALL"]=> int(2)
["COMPONENT BILLBOARD"]=> int(6)
}
["1AB144890021"]=> array(7) {
["MACHINE_NAME"]=> "L21P3A"
["FEEDER_SLOT"]=> "214"
["REJECT_RATE"]=> float(0.0225)
["DEFECT_QTY"]=> int(8)
["SOLDER INSUFFICIENT "]=> int(2)
["SOLDER BAD"]=> int(2)
["SOLDER BALL"]=> int(2)
["COMPONENT MISSING"]=> int(1)
["COMPONENT BILLBOARD"]=> int(1)
}
["1AB144890033"]=> array(7) {
["MACHINE_NAME"]=> "L1CP7A"
["FEEDER_SLOT"]=> "234"
["REJECT_RATE"]=> float(0.0142)
["DEFECT_QTY"]=> int(7)
["SOLDER INSUFFICIENT "]=> int(1)
["SOLDER BAD"]=> int(1)
["COMPONENT MISSING"]=> int(3)
["COMPONENT SKEW"]=> int(1)
["COMPONENT TOMBSTONED"]=> int(1)
}
#...more
}
我需要遍歷數組,並創建陣列輸出看起來像這樣,但不知道最好的方式串.. 。請幫助
1AB168820010 (0.0394%) #<-this is the 'REJECT_RATE'
-Machine: L1XP2A
-Feeder: 114
SOLDER BALL (100%) #<-'SOLDER BALL' value (2) divided by 'DEFECT_QTY' (2) * 100
------------------------
1AB037870031 (2.3022%)
-Machine: L2CP7A
-Feeder: 155
COMPONENT TOMBSTONED (79.48%) #<- (31/39) * 100
COMPONENT BILLBOARD (15.38%) #<- (6/39) * 100
SOLDER BALL (5.12%) #<- (2/39) * 100
------------------------
1AB144890021 (0.0225%)
-Machine: L2IP3A
-Feeder: 214
SOLDER INSUFFICIENT (25%)
SOLDER BAD (25%)
SOLDER BALL (25%)
COMPONENT MISSING (12.5%)
COMPONENT BILLBOARD (12.5%)
------------------------
1AB144890033 (0.0142%)
-Machine: L1CP7A
-Feeder: 234
SOLDER INSUFFICIENT (14.3%)
SOLDER BAD (14.3%)
COMPONENT MISSING (42.8%)
COMPONENT SKEWED (14.3%)
COMPONENT TOMBSTONED (14.3%)
我的主要問題,我不知道如何處理,是我不知道的缺陷的數量(即元件缺失,COMPONENT歪斜,焊接BAD)每部分號碼,有多少缺陷(以及它有哪些缺陷)會有所不同,因此我不能只是將'COMPONENT MISSING:[一些calc')硬編碼到我的foreach循環...
爲什麼要排序數組? OP從未要求過。 –
猜猜我的大腦做了一些自動排序...我再次檢查,確實,所需的輸出沒有排序。修正了我的答案。 – Shi