[英]PHP Create new array from multidimensional array and single array looping
我有一個多維數組和一個數組,我想使用每個數組中的鍵作為標記點,使用這些數組中的數據創建新數組。
單陣列:
array(12) {
[11]=>
string(18) "Blacklist Customer"
[2]=>
string(11) "Change Mind"
[8]=>
string(5) "Fraud"
[1]=>
string(13) "Late Delivery"
[0]=>
string(3) "N/A"
[7]=>
string(12) "No Statement"
[5]=>
string(8) "No Stock"
[4]=>
string(15) "Order Suspected"
[10]=>
string(20) "SOP Cancelation Rule"
[9]=>
string(15) "Sourcing Issues"
[3]=>
string(13) "Suspect Fraud"
[6]=>
string(20) "Wrong Payment Method"
}
多維數組:
array(6) {
[1]=> //Late delivery
array(2) {
[0]=> // this is sales key. It means sales with ID 0 have 4 late delivery
float(4)
[2]=> // this is sales key. It means sales with ID 2 have 3 late delivery
float(3)
}
[0]=> //NA
array(2) {
[0]=>
float(2)
[2]=>
float(10)
}
[2]=> //Change Mind
array(2) {
[0]=>
float(1)
[2]=>
float(1)
}
[5]=> //No stock
array(1) {
[2]=>
float(1)
}
[4]=> //Order Suspected
array(1) {
[2]=>
float(1)
}
[6]=> //Wrong payment method
array(1) {
[10]=>
float(1)
}
}
而且我想要這樣的新數組(我正在使用鍵來指示要推送或添加到新數組的數據。:
array(12) {
[Blacklist Customer]=>
array(0) {
}
[Change Mind]=>
array(2) {
[0]=>
float(1)
[2]=>
float(1)
}
[Fraud]=>
array(0) {
}
[Late Delivery]=>
array(2) {
[0]=>
float(4)
[2]=>
float(3)
}
[N/A]=>
array(2) {
[0]=>
float(2)
[2]=>
float(10)
}
[No Statement]=>
array(0) {
}
[No Stock]=>
array(1) {
[2]=>
float(1)
}
[Order Suspected]=>
array(1) {
[2]=>
float(1)
}
[SOP Cancelation Rule]=>
array(0) {
}
[Sourcing Issues]=>
array(0) {
}
[Suspect Fraud]=>
array(0) {
}
[Wrong Payment Method]=>
array(1) {
[10]=>
float(1)
}
}
是否可以使用循環來創建類似的新數組? 非常感謝!
這段代碼:
$arr; // Array
$mult; // Multi dimensional array
$out; // created array
foreach ( $arr as $id=>$name ) {
if ( array_key_exists($mult, $id) )
$out[$name] = $mult[$id];
else
$out[$name] = array();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.