3v4l.org

run code in 300+ PHP versions simultaneously
<?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