alöp: variable von vorne mit 0 auffüllen

Hallo,

ich habe eine Variable mit variabler Zeichenanzahl, diese soll jetzt automatisch auf eine bestimmte länge mit 0 aufgefüllt werden.
Bsp.:

$variable='efd';
soll werden
$variable='00000efd';

$variable_2='abcde';
soll werden
$variable_2='000abcde';

Gibt es daüfr eine einfache Möglichkeit?

Gruß

  1. Hai Aloep,

    Gibt es daüfr eine einfache Möglichkeit?

    JA,

    <?php  
    $val = 'asdf';  
    echo sprintf('%019s', $val);  
    ?>
    

    Gruss Norbert

    1. Hi,

      echo sprintf('%019s', $val);

      '%08x'?

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hai,

        '%08x'?

        nicht raten, ausprobieren und dann posten.

        Im OP ging es um Strings, also 'c' wie Charakter.

        Gruss Norbert

        1. Hi,

          '%08x'?
          nicht raten, ausprobieren und dann posten.

          danke für den Hinweis.

          Im OP ging es um Strings, also 'c' wie Charakter.

          Den Inhalt der Strings hast Du Dir aber schon angesehen, oder?

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hi,

            nicht raten, ausprobieren und dann posten.
            danke für den Hinweis.

            Dann rate ich mal weiter ;)

            Im OP ging es um Strings, also 'c' wie Charakter.

            Den Inhalt der Strings hast Du Dir aber schon angesehen, oder?

            Hier steht, dass man Hexzahlen mit 0x am Anfang zuweist.

            Streng genommen handelt es sich also hier wohl um Strings, aber da PHP (im Gegensatz zu anderen Sprachen wie C) sehr großzügig mit der Interpretation von Datentypen ist spielt das hier wohl keine Rolle.

            mfG,
            steckl

  2. Hallo,

    ich habe eine Variable mit variabler Zeichenanzahl, diese soll jetzt automatisch auf eine bestimmte länge mit 0 aufgefüllt werden.
    Bsp.:

    $variable='efd';
    soll werden
    $variable='00000efd';

    str_pad wäre wohl hier das Richtige.

    Aber auch vorne '00000000'. dazugeben und dann passend abschneiden
    scheint nicht so aufwändig zu sein.

    Grüsse

    Cyx23

    1. Hai,

      str_pad() ist fuer linksbuendigen Text geeignet,
      und mit sprintf() erzeugt man rechtsbuendigen Text.

      Gruss Norbert

      1. Hallo Norbert,

        str_pad() ist fuer linksbuendigen Text geeignet,

        das allerdings auch.

        Ansonsten:

          
        $var = "abc";  
        $var = str_pad($var, 8, "0", STR_PAD_LEFT);  
        
        

        Grüsse
        Cyx23