我不知道如何在 3 个 PHP 数组中找到所有“对”和“三元组”。我的数组如下所示:
Array
(
[0] => Array
(
[sanitized] => lisa
[original] => Lisa
[weight] => 100
[color] => blank
)
[1] => Array
(
[sanitized] => jack
[original] => Jack
[weight] => 93
[color] => blank
)
...
这些数组有 3 个;它们始终按整数键排序,并且始终包含 10 个索引 (0-9)。我想做的是:
- 在两个数组或所有 3 个数组中查找相同名称的实例(通过比较“清理”字段),并将它们的“颜色”更改为相同(即我不想只找到所有 3 个之间的交集数组 - 可以用 array_intersect 完成)
- 构建第 4 个数组,该数组连接所有条目并通过将它们的权重相加来组合相同的名称(通过比较“清理”字段)(颜色无关紧要)
- 由于这些任务是相似的,我想同时做它们,并尽量减少复杂性
这很难解释,所以我在视觉上表示它。
颜色:
颜色 http://www.tsiomenko.com/1.png
重量:
重量 http://www.tsiomenko.com/2.png
我有一些工作代码,但它真的很长、很丑,并且具有 N^3 的复杂性——我使用嵌套的 for 循环多次遍历所有数组,直到我得到我需要的东西。尽管我正在使用非常小的数组,但我想知道如何有效地做到这一点,因为我很好奇其他人将如何解决这个问题。欢迎使用有关如何解决此问题的伪代码,而不是 PHP。