<?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;
$key = $k;
} else {
$map[$v] = $k;
}
}
while ($result != $main) {
$result[$map[$key]] = $key;
$key = $map[$key];
}
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:
86.46 ms | 403 KiB | 62 Q