2012-04-08 15 views
4

Es könnte eine einfache Aufgabe sein. Aber ich bin neu in PHP.So entfernen Sie das letzte Zeichen von der Zeichenfolge

Ich erstelle eine Reihe von Werten aus der Datenbank für einen bestimmten Zweck.

So entfernen Sie das letzte Zeichen aus der Zeichenfolge.

$str=''; 
foreach($dataarray as $value) 
{ 
    $str.=$value."##"; 
} 

es gibt mir String wie ABC##DEF##GHI##

Ich habe letztes 2 Zeichen ##

EDIT zu entfernen:

haben hier gezeigten Beispielcode. Das Array ist 2D. so kann nicht implode()

Antwort

6

Sie können besser sein, nur implode statt dieser Schleife zu verwenden?

implode ("##" , $dataarray ); 
+0

Verdammt sind Sie 2 sec schneller :-) – Mortana

+0

siehe upd gestellte Frage. Array ist 2D –

+0

Ich glaube nicht, dass seine 2sec ... 20sec Verzögerung gesehen haben und plötzlich Leute gepostet die gleiche Antwort hat meins ... (Nicht sicher, ob es sogar kopieren und einfügen) – Baba

0

Sie Implode() zur Herstellung einer solchen Zeichenfolge verwenden können, anstatt es zu machen manuell

implode("##",$dataarray); 

BTW für letzte Zeichen Entfernen Sie wie unten tun können:

substr($str,0,(strlen($str)-2)); 
+1

Wäre nicht substr ($ str, 0, -2) besser für Ihre zweite Option – BenOfTheNorth

+0

besser, aber ich war mir dessen nicht bewusst. Danke, dass du mich aktualisiert hast –

1

könnten Sie PHP-Funktion verwenden implode

$str = implode("##", $dataarray);

0

Es gibt ein paar Möglichkeiten, um darüber zu gehen, aber:

$str = rtrim($str, "#"); 
0

Vielleicht

$str=''; 
$first = true; 
foreach($dataarray as $value) { 
    if(!$first) { 
      $str .= "##"; 
    } 
    else { 
      $first = false; 
    } 
    $str .= $value; 
 } 
1
<?php 
$str = "1,2,3,4,5,"; 
echo chop($str,","); 
?> 

Es letztes Komma entfernen wird (,) aus der Zeichenfolge $ str

Verwandte Themen