grumi: Zeichenkette zerlegen

Hallo,

ich habe in einem Forumlar ein Inputfeld in dem man eine 14-stellige Seriennummer eingeben kann. Nach der Eingabe möchte ich diese Nummer auf vier Variablen aufteilen.

$var1 = Stelle 1,2 von der Seriennummer
$var2 = Stelle 3,4 von der Seriennummer
$var3 = Stelle 5,6,7,8 von der Seriennummer
$var4 = Stelle 9,10,11,12,13,14 von der Seriennummer

Gibt es da eine Funktion in PHP?

Grüsse Grumi

  1. Gibt es da eine Funktion in PHP?

    wie in jeder c-ähnlichen sprache gibts auch in php eine substring-funktion, ja

    1. Gibt es da eine Funktion in PHP?

      wie in jeder c-ähnlichen sprache gibts auch in php eine substring-funktion, ja

      @all

      Danke für eure rasche Hilfe. Habe mein Problem mit substr gelöst.

      1. wie in jeder c-ähnlichen sprache gibts auch in php eine substring-funktion, ja

        Danke für eure rasche Hilfe.

        freut mich :)

        Habe mein Problem mit substr gelöst.

        noch eine interessensfrage: wie bist du nun auf die funktion substr() gekommen?

  2. Hallo,

    $var1 = Stelle 1,2 von der Seriennummer
    $var2 = Stelle 3,4 von der Seriennummer
    $var3 = Stelle 5,6,7,8 von der Seriennummer
    $var4 = Stelle 9,10,11,12,13,14 von der Seriennummer

    strings sind eigentlich nichts andres als arrays, also musst du sie wie arrays ansprechen:

    --> 1. Position: $myStr[0];
        3. Position: $myStr[2];
        5. Position: $myStr[4];
        9. Position: $myStr[8];

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this
    1. strings sind eigentlich nichts andres als arrays, also musst du sie wie arrays ansprechen:

      das liegt nicht daran, dass strings eben nicht "eigentlich nichts anderes als arrays" sind sondern eben strings

      die ähnliche schreibweise zu der referenzierung auf einen array-index ist lediglich eine andere schreibweise für die substring-funktion - ein array wird aus dem string trotzdem nicht

      1. Hello,

        die ähnliche schreibweise zu der referenzierung auf einen array-index ist lediglich eine andere schreibweise für die substring-funktion - ein array wird aus dem string trotzdem nicht

        Und ausßerdem muss man die Codierung der Seite berücksichtigen, sollte die Seriennummer nicht nur Ziffernzeichen enthalten, sondern vielleicht auch ungewähnliche Schriftzeichen...

        Dann käme nämlich anstelle der substr()-Funktion eventuell die mb_substr()-Funktion in Betracht.

        http://www.php.net/manual/en/function.substr.php
        http://www.php.net/manual/en/function.mb-substr.php

        Liebe Grüße aus Syburg bei Dortmund

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
      2. Hallo,

        lol, ich hab eben was gefunden:
        "Innerhalb von Zeichenketten (strings) kann durch die Angabe des nullbasierten Offsets in geschweiften Klammern nach dem String auf das gewünschte Zeichen zugegriffen oder dieses modifiziert werden.

        Anmerkung: Für Abwärtskompatibilität können Sie für den selben Zweck immer noch die Array-Klammern verwenden. Diese Syntax wird jedoch seit PHP 4 missbilligt. "

        "Note: Strings may also be accessed using braces, as in $str{42}, for the same purpose. However, this syntax is deprecated as of PHP 6. Use square brackets instead."

        mfg, Flo

        --
        sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
        1. Hello,

          lol, ich hab eben was gefunden:

          Das ist doch schon wieder überhholt.
          Inzwischen gelten wieder die [] Klammern...

          Die Mädels von PHP sind eben ein wenig wankelmütig.

          Liebe Grüße aus Syburg bei Dortmund

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Hallo,

            Das ist doch schon wieder überhholt.
            Inzwischen gelten wieder die [] Klammern...

            Hab ich doch geschrieben. Das ist doch das, was ich meinte!!

            mfg, Flo

            --
            sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
            1. Hello,

              Das ist doch schon wieder überhholt.
              Inzwischen gelten wieder die [] Klammern...
              Hab ich doch geschrieben. Das ist doch das, was ich meinte!!

              Ach so. :-)

              Liebe Grüße aus Syburg bei Dortmund

              Tom vom Berg

              --
              Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
    2. echo $begrüßung;

      $var1 = Stelle 1,2 von der Seriennummer
      $var2 = Stelle 3,4 von der Seriennummer
      $var3 = Stelle 5,6,7,8 von der Seriennummer
      $var4 = Stelle 9,10,11,12,13,14 von der Seriennummer

      strings sind eigentlich nichts andres als arrays, also musst du sie wie arrays ansprechen:

      --> 1. Position: $myStr[0];
          3. Position: $myStr[2];
          5. Position: $myStr[4];
          9. Position: $myStr[8];

      Damit löst man das Problem aber nicht, denn mit dem Array-ähnlichen Zugriff bekommt man immer nur ein Zeichen[*] zu fassen. Besonders bei $var4 ist das sehr ineffizient im Gegensatz zu den üblichen Substring-Funktionen.

      [*] UTF-8 und andere Mehrbyte-Kodierungen unbetrachtet gelassen, das berücksichtigt PHP ja sowieso erst ab Version 6.

      echo "$verabschiedung $name";