【发布时间】:2020-06-06 21:02:15
【问题描述】:
我需要将下面的多维数组展平
Array
(
[0] => Array
(
[shipping] => Array
(
[shipping_address_nickname] => CHILD SHIPPING - MAIN
[shipping_first_name] => Harshana
[shipping_last_name] => Child Shipping
[shipping_company] => Home
[shipping_country] => LK
[shipping_address_1] => 236, Maimbula
[shipping_postcode] => 11880
[shipping_city] => Nittambuwa
[shipping_state] =>
)
)
[1] => Array
(
[shipping2] => Array
(
[shipping2_address_nickname] => CHILD - 1
[shipping2_first_name] => Child
[shipping2_last_name] => 1
[shipping2_company] => Child - 1
[shipping2_country] => LK
[shipping2_address_1] => 236, Maimbula
[shipping2_postcode] => 11880
[shipping2_city] => Nittambuwa
[shipping2_state] =>
)
)
[2] => Array
(
[shipping3] => Array
(
[shipping3_address_nickname] =>
[shipping3_first_name] =>
[shipping3_last_name] =>
[shipping3_company] =>
[shipping3_country] =>
[shipping3_address_1] =>
[shipping3_postcode] =>
[shipping3_city] =>
[shipping3_state] =>
)
)
[3] => Array
(
[shipping4] => Array
(
[shipping4_address_nickname] =>
[shipping4_first_name] =>
[shipping4_last_name] =>
[shipping4_company] =>
[shipping4_country] =>
[shipping4_address_1] =>
[shipping4_postcode] =>
[shipping4_city] =>
[shipping4_state] =>
)
)
[4] => Array
(
[shipping] => Array
(
[shipping_address_nickname] => HARSHANA
[shipping_first_name] => Harshana
[shipping_last_name] => Child Shipping
[shipping_company] => Home
[shipping_country] => LK
[shipping_address_1] => 236, Maimbula
[shipping_postcode] => 11880
[shipping_city] => Nittambuwa
[shipping_state] =>
)
)
[5] => Array
(
[shipping2] => Array
(
[shipping2_address_nickname] =>
[shipping2_first_name] =>
[shipping2_last_name] =>
[shipping2_company] =>
[shipping2_country] =>
[shipping2_address_1] =>
[shipping2_postcode] =>
[shipping2_city] =>
[shipping2_state] =>
)
)
[6] => Array
(
[shipping3] => Array
(
[shipping3_address_nickname] => PARENT 1
[shipping3_first_name] => Parent
[shipping3_last_name] => 1
[shipping3_company] => Parent - 1
[shipping3_country] => LK
[shipping3_address_1] => 236, Maimbula
[shipping3_postcode] => 11880
[shipping3_city] => Nittambuwa
[shipping3_state] =>
)
)
[7] => Array
(
[shipping4] => Array
(
[shipping4_address_nickname] => PARENT 2
[shipping4_first_name] => Parent
[shipping4_last_name] => 2
[shipping4_company] => Parent - 2
[shipping4_country] => LK
[shipping4_address_1] => 236, Maimbula
[shipping4_postcode] => 11880
[shipping4_city] => Nittambuwa
[shipping4_state] =>
)
)
)
需要这样;
Array
(
[shipping] => Array
(
[shipping_address_nickname] => HARSHANA
[shipping_first_name] => Harshana
[shipping_last_name] => Child Shipping
[shipping_company] => Home
[shipping_country] => LK
[shipping_address_1] => 236, Maimbula
[shipping_postcode] => 11880
[shipping_city] => Nittambuwa
[shipping_state] =>
)
[shipping2] => Array
(
[shipping2_address_nickname] =>
[shipping2_first_name] =>
[shipping2_last_name] =>
[shipping2_company] =>
[shipping2_country] =>
[shipping2_address_1] =>
[shipping2_postcode] =>
[shipping2_city] =>
[shipping2_state] =>
)
[shipping3] => Array
(
[shipping3_address_nickname] => PARENT 1
[shipping3_first_name] => Parent
[shipping3_last_name] => 1
[shipping3_company] => Parent - 1
[shipping3_country] => LK
[shipping3_address_1] => 236, Maimbula
[shipping3_postcode] => 11880
[shipping3_city] => Nittambuwa
[shipping3_state] =>
)
[shipping4] => Array
(
[shipping4_address_nickname] => PARENT 2
[shipping4_first_name] => Parent
[shipping4_last_name] => 2
[shipping4_company] => Parent - 2
[shipping4_country] => LK
[shipping4_address_1] => 236, Maimbula
[shipping4_postcode] => 11880
[shipping4_city] => Nittambuwa
[shipping4_state] =>
)
)
我正在使用 php。
【问题讨论】:
-
为什么每个数组都有不同的key?如果它们都相同,您可以使用
array_column($array, 'shipping') -
是否保证每个嵌套数组中只有一个元素?
-
是的,密钥是由另一个循环生成的 :(
-
所以只需遍历数组,将每个子数组的第一个元素压入结果数组。
-
您有多个具有相同键的元素。结果应该如何解决?
标签: php arrays multidimensional-array flatten