如何从字符串中删除最后一个字符

时间:2012-04-08 13:44:17

标签: php string

这可能是一项简单的任务。但我是PHP的新手。

为了特定目的,我正在创建一个从数据库获取的值字符串。

如何从字符串中删除最后一个字符。

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

它给了我ABC##DEF##GHI##

这样的字符串

我必须删除最后2个字符##

修改

这里显示了示例代码。 actull y数组是2D。所以无法使用implode()

9 个答案:

答案 0 :(得分:7)

如果implode方法不合适,那么在foreach循环后,您可以尝试以下功能之一:

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

$str = rtrim($str,'#');

http://php.net/manual/en/function.substr.php

$str = substr($str,-2);

如果你有一个2D数组,你仍然可以像这样使用implode func:

$a = array();
foreach( $foo as $bar )
  foreach( $bar as $part )
    $a[] = $part;
$str = implode('##',$a);

答案 1 :(得分:6)

您可能最好只使用implode代替此循环?

implode ( "##" , $dataarray  );

答案 2 :(得分:1)

您可以使用PHP的函数implode

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

答案 3 :(得分:1)

<?php
$str = "1,2,3,4,5,";
echo chop($str,",");
?>

它将从字符串$ str

中删除最后一个逗号(,)

答案 4 :(得分:1)

使用substr:

$str = substr($str,0, -2);

http://php.net/manual/en/function.substr.php

答案 5 :(得分:0)

您可以使用Implode()制作此类字符串,而不是手动制作

implode("##",$dataarray);

BTW用于移除最后一个字符,您可以执行以下操作:

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

答案 6 :(得分:0)

有几种方法可以解决这个问题,但是:

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

答案 7 :(得分:0)

http://php.net/manual/en/function.substr-replace.php

$newstr = substr_replace($longstr ,"",-2);

这将通过获取$ longstr并删除最后两个字符来创建$ newstr。

答案 8 :(得分:0)

也许

$str='';
$first = true;
foreach($dataarray as $value) {
     if(!$first) {
          $str .= "##";
     }
     else {
          $first = false;
     }
     $str .= $value;
 }