让我说我有这样的字符串:
$str1 = '7.5.4';
$str2 = '7.19.41';
如何从最后一个点开始删除每个字符串的最后几个字符,以便我的字符串变为:
$str1 = '7.5';
$str2 = '7.19';
谢谢
答案 0 :(得分:6)
试试这个:
$str1 = substr( $str1, 0, strrpos( $str1, '.' ) );
<强>更新强>
在您的特定情况下,您也可以使用floatval
$str1 = '7.5.4';
$str2 = '7.19.41';
echo floatval($str1) . "\n";
echo floatval($str2) . "\n";
请注意,如果终止零计数,则需要将其与number_format
或sprintf
$str1 = '7.50.4';
$str2 = '7.10.41';
echo number_format(floatval($str1), 2, '.', '') . "\n";
echo sprintf('%0.2f', floatval($str2));
如果是这种情况,那么您在初始解决方案上并没有获得任何好处,并且您还需要与特定精度相关联('7.190.41'
仍会产生7.19
,并且'7.191'
也会产生7.19
)。但是,如果你不关心终止零,那就是胜利。