Я сравниваю каждый элемент массива с любым другим элементом массива, и если два элемента имеют один и тот же источник/цель, цель/источник Я объединять внутренний массив с сотрудниками, например.Более эффективный способ слияния двух массивов
0=> source - 3 target - 4 officers => 0 - 'Aberdeen Asset Management PLC'
1=> source - 3 target - 4 officers => 0 - 'whatever'
она будет объединена с
0=> source - 3 target - 4 officers => 0 - 'Aberdeen Asset Management PLC', 1 - 'whatever'
Вот как данные выглядит следующим образом:
Мой код действительно неэффективна с 1000 на несколько рядов, чтобы пройти через исполнение занимает около 90 секунд, что неприемлемо для такого рода вещей.
foreach ($edges as $i => &$edge) {
for ($j = $i + 1; $j < count($edges); $j++) {
if ($edge['source'] == $edges[$j]['source'] && $edge['target'] == $edges[$j]['target']) {
foreach ($edges[$j]['officers'] as $officer) {
array_push($edge['officers'], $officer);
}
array_splice($edges, $j, 1);
}
}
}
И вы не можете самостоятельно решить свои проблемы? –
@u_mulder хорошо, это намного проще, если он расскажет ** вам **, что ему нужно, а затем просто скопируйте пасту. В конце концов, вы делаете это бесплатно, потому что вам нечего делать лучше, чем создавать код, чтобы другие люди могли извлечь из этого выгоду, почему бы не потакать всем своим желаниям, пока вы на нем? :) –