【发布时间】:2020-05-23 00:50:50
【问题描述】:
我有一个包含数组的多维数组,每个数组都包含一个 artisan 和 closeness 键。如果相同的 artisans 我想将多个数组合并到一个数组中
它的closeness 是它所合并的数组的closeness 值的总和。
也就是这个数组:
Array
(
[0] => Array
(
[artisan] => carpenter
[closeness] => 0.8
)
[1] => Array
(
[artisan] => brick layer
[closeness] => 0.4
)
[2] => Array
(
[artisan] => electrician
[closeness] => 0.9
)
[3] => Array
(
[artisan] => carpenter
[closeness] => 0.8
[is_real] => 1
)
[4] => Array
(
[artisan] => brick layer
[closeness] => 0.9
[is_real] => 1
)
)
应该变成:
Array
(
[0] => Array
(
[artisan] => carpenter
[closeness] => 1.6 //0.8+0.8
)
[1] => Array
(
[artisan] => brick layer
[closeness] => 1.3 //0.4+0.9
)
[2] => Array
(
[artisan] => electrician
[closeness] => 0.9 //remains 0.9 because it is the only array with artisan value of electrician
)
谢谢
【问题讨论】:
-
欢迎来到 Stack Overflow! StackOverflow 不是免费的编码服务。你应该try to solve the problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
你不是已经问过同样的问题了吗?看到一个类似的问题,也有答案,不过好像被删了。
-
我不是这方面的专家,可能有办法做到这一点,但我要做的是获得不同的
artisan并用它们启动一个新数组。然后我将使用 foreach 运行新数组并使用artisan值作为索引并运行第一个数组并进行数学运算。 -
@Barmar 对不起,我尝试了很多东西,但都没有奏效,所以我从代码中删除了它们