0
我有一個非常小的問題,但我只是無法修復這個問題。陣列的劃分問題在PHP
我有以下陣列:
Array
(
[0] => Array
(
[Asset Address 1 Label] =>
[Asset Address 1 Organization] =>
[Asset Address 1 Name prefix] => Hotel Taj
[Asset Address 1 First name] => Maan
[Asset Address 1 Middle name] => Singh
[Asset Address 1 Last name] => Hotel
[Asset Address 1 Name suffix] =>
[Asset Address 1 Street] =>
[Asset Address 1 Street 2] =>
[Asset Address 1 Zip/Postal Code] => 110020
[Asset Address 1 City] =>
[Asset Address 1 State] =>
[Asset Address 1 State Combined code] => IN-DL
[Asset Address 1 Country ISO2 code] => IN
[Asset Address 1 Types 1 Name] => billing
[Asset Address 1 Types 2 Name] =>
[Asset Address 2 Label] => Himachal
[Asset Address 2 Organization] =>
[Asset Address 2 Name prefix] =>
[Asset Address 2 First name] => Hotel
[Asset Address 2 Middle name] =>
[Asset Address 2 Last name] => Taj
[Asset Address 2 Name suffix] =>
[Asset Address 2 Street] =>
[Asset Address 2 Street 2] =>
[Asset Address 2 Zip/Postal Code] => 110020
[Asset Address 2 City] =>
[Asset Address 2 State] =>
[Asset Address 2 State Combined code] => IN-CT
[Asset Address 2 Country ISO2 code] => IN
[Asset Address 2 Types 1 Name] => shipping
[Asset Address 2 Types 2 Name] =>
)
)
我試圖打破內部資產地址1 & 2到另一個空間陣列內
Array
(
[0] => Array
(
[0] => Array
(
[Asset Address 1 Label] => asas
[Asset Address 1 Organization] =>
[Asset Address 1 Name prefix] =>
[Asset Address 1 First name] => asas
[Asset Address 1 Middle name] => asasas
[Asset Address 1 Last name] => asasa
[Asset Address 1 Name suffix] => asasa
[Asset Address 1 Street] => asasa
[Asset Address 1 Street 2] =>
[Asset Address 1 Zip/Postal Code] => 121212
[Asset Address 1 City] =>
[Asset Address 1 State] =>
[Asset Address 1 State Combined code] => AO-CUS
[Asset Address 1 Country ISO2 code] => AO
[Asset Address 1 Types 1 Name] => billing
[Asset Address 1 Types 2 Name] => shipping
)
[1] => Array
(
[Asset Address 2 Label] =>
[Asset Address 2 Organization] =>
[Asset Address 2 Name prefix] =>
[Asset Address 2 First name] =>
[Asset Address 2 Middle name] =>
[Asset Address 2 Last name] =>
[Asset Address 2 Name suffix] =>
[Asset Address 2 Street] =>
[Asset Address 2 Street 2] =>
[Asset Address 2 Zip/Postal Code] =>
[Asset Address 2 City] =>
[Asset Address 2 State] =>
[Asset Address 2 State Combined code] =>
[Asset Address 2 Country ISO2 code] =>
[Asset Address 2 Types 1 Name] =>
[Asset Address 2 Types 2 Name] =>
)
)
)
請注意,因爲有在其他領域上述不顯示陣列,因此我不得不嘗試使用正則表達式如下過濾:
$filtred = array();
foreach($csv as $oldkey => $value){
$regExpression = '/(Asset Address)['.$oldkey.'] [\w]+/';
foreach ($value as $key => $value) {
if(preg_match($regExpression , $key)){
$filtred[$oldkey][$key] = $value;
}
}
}
print_r($filtred);
問題:
這不是從數組開始工作時,基本上是$oldkey
0會跳過工程$oldkey1
。爲什麼?
而且,用這種方法我乾脆創建一個單獨的陣列,我想有作爲現有陣列中的額外的維度。
我希望我已經很好地解釋。
當'$ oldkey'爲'0'時,正則表達式將爲'/(資產地址)[0] [\ w] + /'。有'0'的數組鍵嗎? – Deadooshka
哦,真是太傻了,好吧,我添加了$ oldkey + 1,它已經開始接受資產地址1&2。謝謝! – Aayush
@Deadooshka問題1解決了,關於如何將現有地址字段替換爲同一數組中的多維數組的任何想法? – Aayush