3v4l.org

run code in 500+ PHP versions simultaneously
<?php $specialkeys = ['aa', 'bb', 'cc']; $myarray = [ ['aa' => 1234, 'bb' => 1000, 'cc' => 2345, 'xx' => 'wsad'], ['aa' => 1234, 'bb' => 2000, 'cc' => 2345, 'xx' => 'wsad'], ['aa' => 1234, 'bb' => 2000, 'cc' => 2345, 'xx' => 'wsad'] ]; $lookup = []; foreach ($myarray as $row) { foreach ($specialkeys as $col) { $lookup[$col][$row[$col]] ??= -1; ++$lookup[$col][$row[$col]]; } } //var_export($lookup); foreach ($myarray as &$row) { foreach ($specialkeys as $col) { if ($lookup[$col][$row[$col]]) { $row['yy'][$col] = $row[$col]; unset($row[$col]); } } } var_export($myarray);

preferences:
51.17 ms | 1321 KiB | 5 Q