这可能是一项简单的任务。但我是PHP的新手。
为了特定目的,我正在创建一个从数据库获取的值字符串。
如何从字符串中删除最后一个字符。
$str='';
foreach($dataarray as $value)
{
$str.=$value."##";
}
它给了我ABC##DEF##GHI##
我必须删除最后2个字符##
修改
这里显示了示例代码。 actull y数组是2D。所以无法使用implode()
答案 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)
答案 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;
}