<?php
$main = [
'lorem' => 'lorem',
'ipsum' => 'duis',
'sit' => 'adipiscing',
'duis' => 'sit',
'amet' => 'elit',
'consectetur' => 'lorem',
'adipiscing' => 'consectetur',
'eiusmod' => 'ipsum',
'labore' => 'eiusmod',
'dolore' => 'labore',
'magna' => 'dolore',
'aliqua' => 'amet',
'incididunt' => 'magna',
'tempor' => 'incididunt',
'sed' => 'tempor',
'elit' => 'sed',
];
foreach ($main as $k => $v) {
if ($k === $v) {
$result[$k] = $v;
} else {
$map[$v] = $k;
}
}
$k = key($result);
while (isset($map[$k])) {
$result[$map[$k]] = $k;
$k = $map[$k];
}
var_export($result);
- Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
'lorem' => 'lorem',
'consectetur' => 'lorem',
'adipiscing' => 'consectetur',
'sit' => 'adipiscing',
'duis' => 'sit',
'ipsum' => 'duis',
'eiusmod' => 'ipsum',
'labore' => 'eiusmod',
'dolore' => 'labore',
'magna' => 'dolore',
'incididunt' => 'magna',
'tempor' => 'incididunt',
'sed' => 'tempor',
'elit' => 'sed',
'amet' => 'elit',
'aliqua' => 'amet',
)
preferences:
93.02 ms | 403 KiB | 62 Q