为什么rtrim要删除尾部的零?[重复]

问题描述 投票:1回答:1

我想修剪 (+06)12:00 (+06). 所以,我用了rtrim。我希望它能返回我 12:00 但它实际上是返回 12:

<?php
  $str = "12:00 (+06)";
  echo rtrim($str," (+06)");
?>

谁能帮帮我。

php trim
1个回答
-1
投票

只是做(在左括号前没有前导空格)。Rtrim在没有定义普通空格的情况下剥离普通空格,这似乎是这里的问题。说实话。 我不知道为什么剩下的是12而不是12: 00 但没有空格就可以了。

echo rtrim($str,"(+06)");

你是不是只想找字符串的左边部分 而且总是相同的字符数,你可以这样做。

$str = substr($str,0,5);` 

1
投票

是的,它的工作原理和预期的一样,因为它的参数给到了 rtrim() 定义了哪些 人物 (不是字符串作为一个while)应该被删除。正如您指定的 0 也是,你也把它删除了。结论是你的任务使用了错误的函数--因为你总是想从你的bstring结尾处删除固定长度的子串,只需使用 substr() 并从尾部以负长度切割。

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

不管源字符串的长度是多少,都是有效的。

© www.soinside.com 2019 - 2024. All rights reserved.