PHP按值合并数组,放入表最佳结构?
我有以下一系列结果:PHP按值合并数组,放入表最佳结构?,php,arrays,Php,Arrays,我有以下一系列结果: Array ( // 1st big array of results [0] => Array ( [0] => Array ( [customer] => John [shop_name] => shop1
Array
(
// 1st big array of results
[0] => Array
(
[0] => Array
(
[customer] => John
[shop_name] => shop1
[shop_address] => address1
)
[1] => Array
(
[customer] => John
[shop_name] => shop2
[shop_address] => address2
)
[2] => Array
(
[customer] => Mark
[shop_name] => shop1
[shop_address] => address1
)
)
// 2nd big array of results
[1] => Array
(
[0] => Array
(
[customer] => Cathy
[shop_name] => shop3
[shop_address] => address3
)
[1] => Array
(
[customer] => Cathy
[shop_name] => shop4
[shop_address] => address4
)
[2] => Array
(
[customer] => Maria
[shop_name] => shop3
[shop_address] => address3
)
)
)
在每个大的结果数组中,每个客户的店铺名称和店铺地址都有唯一对
我想做什么
我想把第一个大数组中的每个客户
放在一个
中,但它的店铺名称
和店铺地址
分别放在一个
中,如下所示:
当然,对第二大阵列重复这个过程
我是否有最好的数组结构来执行此操作?
或者我应该将每个客户放在自己的数组中:
// Give each 'customer' its own array
foreach ($array[0] as $result) {
$array_by_customer[$result['customer']][] = $result;
}
但正如您所看到的,我只能对数组[0]
-第一大结果数组执行此操作
我认为您的做法很好:为每位客户制作一个阵列
我建议您对数组中的所有结果都这样做,就这样
foreach ($array as $big_array_key => $results) {
foreach ($results as $result) {
$arrays_by_customer[$big_array_key][$result['customer']][] = $result;
}
}
然后,您的$arrays\u by\u客户将包含两个大阵列:一个用于初始大阵列。我的回答有点简短。。。我认为您的做法很好:为每个客户制作一个阵列。这样,如果您想格式化单独的表,您可以为每个初始大数组填充一个$array\u by_customer。但是我如何将每个$array\u by_customer
放入其初始大数组中?如果需要,只需将初始数组保留为这样即可。使用中间数组仅用于演示目的。也许我想让它比我脑海中的实际情况更复杂,但我不明白。我需要John
和Mark
放在一张单独的表格中,而Cathy
和Maria
放在另一张表格中。