我有一個從YAML反序列化的表單數據的多維數組。因此,它看起來是這樣的:遞歸合併數組而不覆蓋重複鍵的最佳方式
Array(
'name' => 'Somone',
'email' => '[email protected]',
'billing' => Array(
'address_1' => '1234 Somewhere'
'address_2' => NULL,
'city' => 'Somewhere',
'state' => 'ST'
'country' => 'CO'
'postal_code' => '12345'
),
'shipping' => Array(
'address_1' => '1234 Somewhere'
'address_2' => NULL,
'city' => 'Somewhere',
'state' => 'ST'
'country' => 'CO'
'postal_code' => '12345'
)
);
什麼,我需要做的就是擊敗這個這樣我就可以輸出一些CSV,所以它應該是這個樣子:
Array(
'name' => 'Somone',
'email' => '[email protected]',
'billing_address_1' => '1234 Somewhere'
'billing_address_2' => NULL,
'billing_city' => 'Somewhere',
'billing_state' => 'ST'
'billing_country' => 'CO'
'billing_postal_code' => '12345'
'shipping_address_1' => '1234 Somewhere'
'shipping_address_2' => NULL,
'shipping_city' => 'Somewhere',
'shipping_state' => 'ST'
'shipping_country' => 'CO'
'shipping_postal_code' => '12345'
);
我永遠不會知道確定陣列/散列有多深 - 它只有兩層,如圖所示,或者它可以是5.
這也是在Symfony 1.4中,所以如果需要的話,sfForm及其所有的奢侈品都是可用的。我認爲應該有一個明智的方式來使用小部件模式和小部件來做到這一點。但是,如果可能的話,我想避免將數據綁定到表單。這不是實際表單提交過程的一部分,但在管理員下載提交數據集的操作中完全分開。