<?php
{
$cnt = 0;
foreach($arr as $key=>$value)
{
$keys[] = $key;
$values[] = $value;
++$cnt;
}
for($i = 1; $i < $cnt; ++$i)
{
for($j = $i; $j > 0 && $values[$j-1] > $values[$j]; --$j)
{
$tmpIndex = $j - 1;
$tmp = $values[$tmpIndex];
$values[$tmpIndex] = $values[$j];
$values[$j] = $tmp;
$tmp = $keys[$tmpIndex];
$keys[$tmpIndex] = $keys[$j];
$keys[$j] = $tmp;
}
}
$arr = [];
for($i = 0; $i < $cnt; ++$i)
$arr[$keys[$i]] = $values[$i];
}
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); myAsort($fruits);
PD9waHAKCmZ1bmN0aW9uIG15QXNvcnQoYXJyYXkgJiRhcnIgPSBhcnJheSgpKQp7CiAgICAkY250ID0gMDsKICAgIGZvcmVhY2goJGFyciBhcyAka2V5PT4kdmFsdWUpCiAgICB7CiAgICAgICAgJGtleXNbXSA9ICRrZXk7CiAgICAgICAgJHZhbHVlc1tdID0gJHZhbHVlOwogICAgICAgICsrJGNudDsKICAgIH0KCiAgICBmb3IoJGkgPSAxOyAkaSA8ICRjbnQ7ICsrJGkpCiAgICB7CiAgICAgICAgZm9yKCRqID0gJGk7ICRqID4gMCAmJiAkdmFsdWVzWyRqLTFdID4gJHZhbHVlc1skal07IC0tJGopCiAgICAgICAgewogICAgICAgICAgICAkdG1wSW5kZXggPSAkaiAtIDE7CgogICAgICAgICAgICAkdG1wID0gJHZhbHVlc1skdG1wSW5kZXhdOwogICAgICAgICAgICAkdmFsdWVzWyR0bXBJbmRleF0gPSAkdmFsdWVzWyRqXTsKICAgICAgICAgICAgJHZhbHVlc1skal0gPSAkdG1wOwoKICAgICAgICAgICAgJHRtcCA9ICRrZXlzWyR0bXBJbmRleF07CiAgICAgICAgICAgICRrZXlzWyR0bXBJbmRleF0gPSAka2V5c1skal07CiAgICAgICAgICAgICRrZXlzWyRqXSA9ICR0bXA7CgogICAgICAgIH0KICAgIH0KCiAgICAkYXJyID0gW107CgogICAgZm9yKCRpID0gMDsgJGkgPCAkY250OyArKyRpKQogICAgICAgICRhcnJbJGtleXNbJGldXSA9ICR2YWx1ZXNbJGldOwp9CgoKJGZydWl0cyA9IGFycmF5KCJkIiA9PiAibGVtb24iLCAiYSIgPT4gIm9yYW5nZSIsICJiIiA9PiAiYmFuYW5hIiwgImMiID0+ICJhcHBsZSIpOwpteUFzb3J0KCRmcnVpdHMpOwp2YXJfZXhwb3J0KCRmcnVpdHMpOw==