Not optimal, maybe .. but this is short:
$a1 = array(1=>2000,65=>1354,103=>1787); $a2 = array(1=>'hello',65=>'hi',103=>'goodevening'); asort($a1); foreach(array_keys($a1) as $i) $out[$i] = $a2[$i]; echo join("\n", $out);
take a look at uasort () also
source share