Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] zählen mit vorangehender 0

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php10
    hat ein Thema erstellt [Erledigt] zählen mit vorangehender 0.

    [Erledigt] zählen mit vorangehender 0

    Hallo,
    ich möchte in einem Script so zählen:
    01, 02, 03 ... 10, 11, 12 ....

    Hat jemand eine Idee wie ich die 0en bei 1, 2, 3 ... hinbekomme?!

    MfG php10

  • php10
    antwortet
    na 1-9, oben in meinem Edit das ist doch schon eine richtige lösung oder?!
    es soll für eine id in einem link gut sein, anhand dieser id werden bilder identifiziert

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von php10 Beitrag anzeigen
    du meist ich soll
    ... mal lernen, klare Fragen auch klar zu beantworten? Ja.

    nikosch hat gefragt, wozu das ganze überhaupt gut sein soll.
    Wenn du das als ID oder sonstwas in einen Link als Parameter einfügst - wozu sollen dann führende Nullen gut sein?
    Hat das, was du damit identifizieren willst, auch führenden Nullen? Wenn ja, was wäre das?

    Welche funktionen gibt es die prüfen wieviele stellen ein integer hat??
    Du könntest jetzt langsam mal anfangen, deinen Kopf zu benutzen.

    Welche ganzen, natürlichen Zahlen haben eine Ziffer?

    Einen Kommentar schreiben:


  • php10
    antwortet
    du meist ich soll prüfen ob die zahl nur 1 stellig ist, wenn ja dann eine 0 davor?!
    also mit ner normalen if abfrage. Welche funktionen gibt es die prüfen wieviele stellen ein integer hat??

    beispiel
    PHP-Code:
    if(...)$zahl='0'.$i
    php10

    Edit:

    Hilfe hab ich da umständlich gedacht. Am einfachsten ist doch:
    PHP-Code:
    if($i<10$zahl='0'.$i
    else 
    $zahl=$i
    danke für euere Hilfe!

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Wozu eigentlich das ganze? Für die Weiterverarbeitung ist die Null doch eher hinderlich und spätestens bei 3-stelligen Zahlen wird das doch sowieso wieder hinfälltig.

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von php10 Beitrag anzeigen
    die zahl wird in einen link eingefügt
    Na dann ...

    das mit dem echo war zum testen...
    Ja, aber offenbar ohne, dass du dir den Unterschied zwischen sprintf und printf klar gemacht hast.

    Einen Kommentar schreiben:


  • php10
    antwortet
    die zahl wird in einen link eingefügt
    das mit dem echo war zum testen...

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von php10 Beitrag anzeigen
    was soll ich nun nehmen?! printf oder sprintf??
    Das kommt darauf an, ob du eine direkte Ausgabe, oder einen String erhalten willst.

    wie macht man denn bei printf diese printf-eigene zahl weg?!
    In dem man sie nicht ausgibt, wenn man sie nicht ausgeben will.

    Wieso schreibst du echo davor?

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Wie der name str_pad schon sagt, ist diese Funktion für die Arbeit mit Strings, nicht mit Zahlen gedacht.
    Und wie %s sagt, ist das auch für Strings gedacht. Dezimalziffern mit führenden Nullen sind immer Strings, denn (eine) führende Null(en) sind in PHP Oktalangaben vorbehalten.

    sprintf ('%02d' , $in); für Rückgabe des Wertes, sonst printf für Ausgabe.

    Einen Kommentar schreiben:


  • php10
    antwortet
    was soll ich nun nehmen?! printf oder sprintf??
    wie macht man denn bei printf diese printf-eigene zahl weg?!

    ich such was um die integerzahlen 1-9 die von einer for schleife kommen mit einer 0 zu beginnen..

    php10

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von php10 Beitrag anzeigen
    PHP-Code:
    printf("%02s\n",$i
    macht mir folgende ausgabe:

    01 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 3

    wo kommen die 3en her?!
    Das ist der Rückgabewert von printf, den du dir unsinnigerweise mit ausgeben lässt ...


    Bitte informiere dich künftig erst mal selber im Manual, was Funktionen, die dir hier genannt werden, genau machen.

    Einen Kommentar schreiben:


  • Destruction
    antwortet
    Statt sprintf solltest du aber printf nehmen, sonst wäre das doppelte Arbeit

    Einen Kommentar schreiben:


  • Frank
    antwortet
    Das mag zwar sein, aber ist nicht für diesen Zweck geeignet. Wie der name str_pad schon sagt, ist diese Funktion für die Arbeit mit Strings, nicht mit Zahlen gedacht. Das PHP automatisches Type-Casting anwendet ist doch immer wieder eine Quelle für Misverständnisse

    Einen Kommentar schreiben:


  • chunky
    antwortet
    str_pad() geht auch und ist einfacher zu lesen als sprintf().

    Einen Kommentar schreiben:


  • php10
    antwortet
    Danke an alle die mir geholfen haben.
    Ich habs jetzt:

    PHP-Code:
    <?php
    for($i=1;$i<=25;$i++) {
    echo 
    sprintf("%02s",$i);
    echo 
    "<br>";
    }
    ?>
    Frohe Ostern noch

    MfG php10

    Einen Kommentar schreiben:

Lädt...
X