Ersatz für str_split

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ersatz für str_split

    Hallo ich habe in PHP 5 ein Skript geschrieben, bei dem ich mir eine SQL Abfrage zusammenbaue. Das letzte (überflüssige) Komma entferne ich dann mit str_split
    PHP Code:
    $sql_array=str_split($sql,(strlen($sql)-2)); 
    Leider verwendet mein Provider noch PHP 4 -> dieses unterstützt str_split nicht - kann mir jemand eine alternativlösung sagen?
    ich habe schon gesucht baer nichts gefunden.
    Danke!

  • #2
    http://www.php.net/preg_replace

    Zeig mal den String von dem du das Komma entfernen möchtest

    Comment


    • #3
      der string ist dynamisch

      hier mal nen beispiel:

      UPDATE mitglieder SET street = 'Taubenweg ', ort_id = '3',


      ich glaube nicht, dass das über die art des zeichens (komma) geht, da davon mehrere vorkommen, das einzigste das geht ist denk ich mal die länge des strings

      Comment


      • #4
        Code:
        $string = preg_replace("/,$/", "", $string);
        entfernt das Komma wenn es ganz am ende des strings vorkommt. Wenn noch was dahinter kommt / kommen kann, müsste man die funktion abändern

        Comment


        • #5
          thx

          Comment


          • #6
            $str{strlen($str)-1} = ' '; // beachte die geschweiften Klammern. Vielleicht geht sogar $str{strlen($str)-1} = ''; analog zu dem, was im PHP Manual / Types / Strings zu character access steht.

            Weitere Möglichkeit, um es programmlich einfach zu haben, besteht darin, das Komma VOR dem feld=value dynamisch zu generieren, AUSSER vor dem ersten feld. Dazu braucht es ein flag "$erstesFeld".

            Comment


            • #7
              Weitere Möglichkeit, um es programmlich einfach zu haben, besteht darin, das Komma VOR dem feld=value dynamisch zu generieren, AUSSER vor dem ersten feld. Dazu braucht es ein flag "$erstesFeld".
              Na, das macht man ganz easy mit implode. keine flags, keine überflüssigen kommas.

              Comment


              • #8
                implode ist eine weitere Variante. Frage, was strukturierteren Code gibt, und was mit weniger Wissen bzw. Manual zugänglich ist. Keine Kommas, keine flags, dafür ein a=array(), ein a[] anstatt ein .=, implode und evtl ein unset(a).

                Comment


                • #9
                  Und ein simples rtrim() hätte das Komma ja auch wegputzen können ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Comment


                  • #10
                    THX

                    Comment

                    Working...
                    X