Sascha: problem bei str_replace

Beitrag lesen

Hallo zusammen.
Mich plagt da ein Problem!!

Ich möchte jede Ziffer in einem string,
in eine 3 stellige zahl umwandeln.

Also hab ich mir folgendes gedacht:

function change($in) {
 $zahl = array("0","1","2","3","4","5","6","7","8","9");
 $code= array("056","159","262","365","068","171","295","377","080","183");
 $out = str_replace ($zahl, $code, $in);
 return $out;
}

$quelle = "9678";
$laenge = strlen($quelle);
for ($i=0; $i<$laenge; $i++) {
 $getzahl = substr($quelle,$i,1);
 echo $getzahl;
 echo "=".change($getzahl)."<br>";
}

Jedoch ist die Ausgabe etwas verwirrrend ?!?

9=183
6=21835
7=377
8=080

9,7 und 8 sind ja ok,
aber Ziffer 6 seltsam !!!

Er scheint die 6 durch 295 korekt zu ersetzten, doch dann ersetzt er aus der 295 die 9 nochmal zu 183 !!!

Wie kann das sein?? Hab ich da nen denkfehler drin oder spinn ich jetzt total ???

ich hoffe es hat jeder soweit verstanden was ich meine!?!

Danke für Eure Antwort(en) im Voraus.