löschen des letzten Zeichens

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

  • löschen des letzten Zeichens

    Ich habe mal wieder ein eigentlich sehr kleines aber scheinbar
    unüberwindliches Problem

    zuerst der Sourcecode:

    while($out=mysql_fetch_array($help))
    {
    $csm.= "'$i',";
    $i++;
    }
    $point=strlen($csm[$i])-1;
    $csm[$point]=" ";
    echo "$csm";

    mein Ziel:
    Eine Zeichenkette ähnlich wie:

    '1','2','3',...,'n'

    Ich möchte also das hintere Komma löschen

    Ausgabe bei meinem Sourcecode:

    ArrayArray'1' '2' '3' ... 'n'

    Es werden also alle , ersetzt und ArrayArray davor hinzugefügt
    Mit Stringfunktionen wie substr und substrreplace wurden auch immer alle '
    ersetzt, was mich vermuten lässt, dass der String intern nicht als
    zusammenhängend sondern eher in Arrays abgelegt aussieht.

    Nun meine Frage:

    Wie bekomme ich einen zusammenhängenden String hin
    bzw. wie lösche ich das letzte Zeichen

  • #2
    Re: löschen des letzten Zeichens

    Original geschrieben von micman
    Ausgabe bei meinem Sourcecode:

    ArrayArray'1' '2' '3' ... 'n'

    Es werden also alle , ersetzt und ArrayArray davor hinzugefügt
    wo die kommata geblieben sein sollen, ist mir schleierhaft - mit dem code so für mich nciht nachvollziehbar.

    dass das wort array ausgegeben wird, liegt daran, dass du mit $csm[$point]=" "; implizit ein array aus $csm machst (obwohl da bei korrekt eingestelltem error reporting eigentlich eine warnung kommen sollte).

    wenn du ein bestimmtes zeichen innerhalb eines strings über seinen nummerischen index ansprechen willst, dann lautet die schreibweise $string{index} - also mit geschweiften klammern.



    btw: wie wär's, wenn du die werte in der schleife erst mal wirklich in ein array packst, und dieses nachher mit implode() zu einem string verbindest?
    dann brauchst du dir keine gedanken mehr um das abschneiden letzter zeichen zu machen ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: löschen des letzten Zeichens

      Original geschrieben von micman
      PHP-Code:
      zuerst der Sourcecode:

      while(
      $out=mysql_fetch_array($help))
      {
          
      $csm.= "'$i',";
          
      $i++;
      }
      $point=strlen($csm[$i])-1;
      $csm[$point]=" ";
      echo 
      "$csm"
      In der Schleife ist $csm kein Array, sondern String. Daher ist schon Unfug, $csm auf die Art $csm[...] anzusprechen. Wenn du was am String abschneiden willst, dann schau dir substr mal an.

      Kommentar


      • #4
        implode() ist gut.

        Ich habe allerdings eine Fehlermeldung:

        Warning: implode(): Bad arguments. in W:\home\admin\WWW\Vertrag\Vertrag.php on line 163

        Sourcecode:
        while($out=mysql_fetch_array($help))
        {
        $csm[]="'$i'";
        $i++;
        }
        echo implode(",",$csm);

        Kommentar


        • #5
          PHP-Code:
          $csm =range(1mysql_num_rows($help));
          echo 
          implode(', '$csm); 
          Hast du die Fehlermeldung immer?
          Wie sieht die Abfrage aus?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Oh ja, die Abfrage hatte einen Fehler, jetzt funktioniert es (mit implode). Der Fehler beim abschneiden war aber davon unabhänig und ist weiterhin ungeklärt. Ich habe aber keinen Klärungsbedarf mehr

            Vielen Dank

            Kommentar

            Lädt...
            X