这可能是一项简单的任务。但我是 PHP 新手。
我正在为特定目的创建从数据库获取的一串值。
如何从字符串中删除最后一个字符。
$str='';
foreach($dataarray as $value)
{
$str.=$value."##";
}
它给了我类似的字符串ABC##DEF##GHI##
我必须删除最后 2 个字符##
编辑:
已在此处显示示例代码。实际 y 数组是二维的。所以不能用implode()
如果该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);
如果你有一个二维数组,你仍然可以implode
像这样使用函数:
$a = array();
foreach( $foo as $bar )
foreach( $bar as $part )
$a[] = $part;
$str = implode('##',$a);
你可能会更好地使用内爆而不是这个循环?
implode ( "##" , $dataarray );
你可以使用 PHP 的函数implode
$str = implode("##", $dataarray);
<?php
$str = "1,2,3,4,5,";
echo chop($str,",");
?>
它将从字符串 $str 中删除最后一个逗号 (,)
您可以Implode()
用于制作这样的字符串,而不是手动制作
implode("##",$dataarray);
顺便说一句,您可以像下面这样删除最后一个字符:
substr($str,0,(strlen($str)-2));
有几种方法可以解决,但是:
$str = rtrim($str, "#");
http://php.net/manual/en/function.substr-replace.php
$newstr = substr_replace($longstr ,"",-2);
这将通过获取 $longstr 并删除最后两个字符来创建 $newstr。
也许
$str='';
$first = true;
foreach($dataarray as $value) {
if(!$first) {
$str .= "##";
}
else {
$first = false;
}
$str .= $value;
}