compare($list[$i + $dist], $order)) { $old = $list[$i]; $list[$i] = $list[$i + $dist]; $list[$i + $dist] = $old; } } $first = self::merge(\array_slice($list, 0, (int) ($n / 2)), $order); $second = self::merge(\array_slice($list, (int) ($n / 2)), $order); return \array_merge($first, $second); } }