Seite 1 von 1

[PHP] Zahlen zerlegen

Verfasst: 06.02.2007, 12:50
von Ice Man
Ich will auf einer Seite zahlen in Form von Bildern anzeigen.

Also ich hab zum Beispiel die Zahl "39,99"

Nun will ich per Script folgendes machen

Lade grafik zahl 3
Lade grafik zahl 9
Lade grafik Komma
Lade grafik zahl 3
Lade grafik zahl 9

Gibt es eine PHP Funktion, die mir die Zahlen in einzelne stellen zerlegt, so in der art wie bei einem String ?
Also das ich dann jeweils eine
3
9
9
9
rausbekomme ?

Verfasst:
von

Verfasst: 06.02.2007, 13:02
von twitch
so?
Anmerkung: PHP weiß ja nicht wirklich, dass es sich um ein INT-Wert handelt. Deswegen kann man eigentlich strlen (auch wenn nur für Strings vorgesehen) anwenden. Oder einfach in einen String umwandeln.

<?php

$z=1234; // Zaehlerstand

// Ziffern durch PNGs ersetzen: 0.png ... 9.png im Unterverzeichnis ziffern
$z=(string)$z; // Zahl $z als Zeichenkette
$stellen=strlen($z); // Anzahl der Stellen
for($i=0;$i<$stellen;$i++) // in Schleife zuordnen{
// Ist der Wert ein Komma, Punkt oder eine Zahl?
if($z[$i] != ',' and $z[$i] != '.') {
print '<img src="ziffern/$z[$i].png" alt="">';
}else{
print ',';
}
}
?>

Ergebnis wäre so:
<img src="ziffern/1.png" alt=""><img src="ziffern/2.png" alt=""><img src="ziffern/3.png" alt=""><img src="ziffern/4.png" alt="">

Verfasst: 06.02.2007, 14:40
von Ice Man
Danke, hat bestens funktioniert :)

Verfasst: 06.02.2007, 15:59
von joghurtKULTUR
ist es nicht einfacher die Zahlen eben mittels GD und PHP auf ein Bild zu pinseln? (Nur als Gedankenanstoß)

Verfasst: 06.02.2007, 16:09
von twitch
na klar, das geht auch, nur ob der Code kürzer ist als der hier.. glaube ich net :-)

Verfasst: 06.02.2007, 16:56
von net(t)worker
joghurtKULTUR hat geschrieben:ist es nicht einfacher die Zahlen eben mittels GD und PHP auf ein Bild zu pinseln? (Nur als Gedankenanstoß)
wäre auch noch die Frage der Geschwindigkeit, ein Bild müsste ja erstmal von der Festplatte gelesen werden....

Verfasst: 06.02.2007, 17:11
von Ice Man
die zahlen sind nur 300 byte groß, ist also kein Problem :)

Verfasst: 07.02.2007, 09:44
von bara.munchies