Charlie: Linksseitig alle 0 entfernen

Hi,

wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?

danke+lg
Charlie

  1. Hello,

    wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?

    von einem alphanumerischen String, oder von einem numerischen String?

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Aloa,

      von einem alphanumerischen String, oder von einem numerischen String?

      von einem nummerischen String.

      danke+lg
      Charlie

      1. Hello,

        von einem alphanumerischen String, oder von einem numerischen String?

        von einem nummerischen String.

        $zahl = intval($zahl);

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
    2. Hallo,

      von einem alphanumerischen String, oder von einem numerischen String?

      Beidesmal durch Addition mit 0 und die damit verbundene Umwandlung in einen numerischen Wert, der m.E. gar keine linksseitigen Nullen besitzen _kann_, oder?

      Gruß
      Lachgas

      1. Hello,

        von einem alphanumerischen String, oder von einem numerischen String?

        Beidesmal durch Addition mit 0 und die damit verbundene Umwandlung in einen numerischen Wert, der m.E. gar keine linksseitigen Nullen besitzen _kann_, oder?

        Hier hast Du wohl auch die bessere Karte gezogen.
        Denn intval würde auch die [Nachkomma|Nachpunkt]-stellen abschneiden. Die automatische Typumwandlung würde sie aber nicht verschlucken. Fiel mir auch erst in dem Moment ein, als ich Submit drückte...

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Aloa,

          Hier hast Du wohl auch die bessere Karte gezogen.
          Denn intval würde auch die [Nachkomma|Nachpunkt]-stellen abschneiden. Die automatische Typumwandlung würde sie aber nicht verschlucken. Fiel mir auch erst in dem Moment ein, als ich Submit drückte...

          sorry, aber da komm ich als Newbie nicht ganz mit.
          Was soll ich anstatt intval() benutzen?

          danke+lg
          Charlie

          1. Aloa,

            sorry, aber da komm ich als Newbie nicht ganz mit.
            Was soll ich anstatt intval() benutzen?

            nochmals sorry.
            Ich hab das Posting mit ltrim() übersehen.
            Mit dem funkt es wunderbar.

            danke+lg
            Charlie

            1. Hallo,

              nochmals sorry.
              Ich hab das Posting mit ltrim() übersehen.
              Mit dem funkt es wunderbar.

              Es "funkt"? Armer Webserver ;-)

              Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)

              Gruß
              Lachgas

              1. Hallo!

                Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)

                Und warum ist das ein Nachteil?

                Grüße
                Andreas

                --
                SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
                1. Hallo,

                  Und warum ist das ein Nachteil?

                  Du hast Recht, wenn die Zahl einfach nur ausgegeben werden soll ist das kein Nachteil. Aber wenn er seine Werte gleich in einen numerischen Typen umwandelt (integer oder double), kann er damit besser 'rechnen'.

                  Aber in dem Fall ist es im Prinzip eine "Geschmacksfrage".

                  Gruß
                  Lachgas

                  1. Hallo!

                    Und warum ist das ein Nachteil?

                    Du hast Recht, wenn die Zahl einfach nur ausgegeben werden soll ist das kein Nachteil. Aber wenn er seine Werte gleich in einen numerischen Typen umwandelt (integer oder double), kann er damit besser 'rechnen'.

                    Abgesehen von dem was Sven schrieb ist das so eine Sache mit der (vereinfachten) Theorie und der "Computer-Wirklichkeit".

                    Beispiel:

                    php -r "echo (0.1 + 0.7) * 10;"

                    ergibt bekanntlich "8", aber

                    php -r "echo intval((0.1 + 0.7) * 10);"

                    ergibt dagegen "7", siehe http://de3.php.net/types.float.

                    Da ich derartige Probleme bereits in der Praxis hatte, vermeide ich "Rechnerei" und Typenumwandlungen wo es nur geht. Vor allem wenn es nur um die Ausgabe geht. Mag sein dass dies nicht so elegant ist, aber das ist mir ziemlich egal ;-)

                    Grüße
                    Andreas

                    --
                    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
                2. Aloa,

                  Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)
                  Und warum ist das ein Nachteil?

                  meine Weiterverarbeitung sieht so aus, dass ich diese zahl in einem gewissen zahlenbereich vergleichen muss, als ob die Zahl zw. 1 und 9809834 ist bzw zw 8998998987 und 999999999999.

                  lg
                  Charlie

                  1. Hallo,

                    meine Weiterverarbeitung sieht so aus, dass ich diese zahl in einem gewissen zahlenbereich vergleichen muss, als ob die Zahl zw. 1 und 9809834 ist bzw zw 8998998987 und 999999999999.

                    Siehst du. Und da ist es _klar_ von Vorteil, die Zahl in ein numerisches Format umzuwandeln.

                    Gruß
                    Lachgas

          2. Hallo,

            sorry, aber da komm ich als Newbie nicht ganz mit.
            Was soll ich anstatt intval() benutzen?

            Entweder du addierst 0, dann wird der Wert automatisch eine numerische   Zahl ohne vorstehende Nullen, oder du benutzt die Funktion doubleval(). Die berücksichtigt auch Nachkommastellen. Ich würde dir aber zu ersterem raten.

            Gruß
            Lachgas

            1. Aloa,

              ok, hab ich jetzt versucht:
              $test = 00000032 + 0;
              da bekomm ich aber 26 zurück.
              Warum?

              lg
              Charlie

              1. Moin!

                ok, hab ich jetzt versucht:
                $test = 00000032 + 0;
                da bekomm ich aber 26 zurück.
                Warum?

                Weil 000000032 im Oktalsystem betrachtet wird.

                Was ist mit $test = "00000032" + 0;

                Schließlich hast du ja einen String, also brauchst du Anführungszeichen um die "Zahl".

                - Sven Rautenberg

              2. Hallo,

                $test = 00000032 + 0;
                da bekomm ich aber 26 zurück.

                Stimmt.

                $test = 00000032;
                $test += 0;
                echo $test;

                => 26

                Aber:

                $test = "00000032";
                $test += 0;
                echo $test;

                => 32

                Ich war davon ausgegangen, dass ein String ("") vorliegt.

                Gruß
                Lachgas

  2. hi,

    wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?

    http://www.php.net/manual/en/function.ltrim.php

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  3. Hello,

    dieser Thread hat sich aus einem auf den ersten Blick trivialen Problem noch zu einem sehr interessanten entwickelt. Die Fallunterscheidungen, die wir hier zusammengetragen haben, taugen für ein Tutorial.

    Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden. Dazu hatte ich in einem anderen Thread heute schon eine Demo gepostet.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden.

      Oder eben als Array ...

      Grüße

      Heizer

      1. Hello,

        Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden.

        Oder eben als Array ...

        Ja, irgendwie auch richtig. Array of Strings kommt dann da an.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau