3v4l.org

run code in 300+ PHP versions simultaneously
<?php $merged = [ 'a' => 'b', 'b' => 'c', 'c' => 'z', 'd' => 'a', 'e' => 'z' ]; $aliasesReduced = false; while(!$aliasesReduced) { $aliasesReduced = true; foreach($merged as $originalId => &$mergedId) { if (array_key_exists($mergedId, $merged)) { $mergedId = $merged[$mergedId]; $aliasesReduced = false; } } } print_r($aliases);

preferences:
46.74 ms | 402 KiB | 5 Q