【问题标题】:unexpected return of rtrim function in PHPPHP中rtrim函数的意外返回
【发布时间】:2012-07-20 11:14:54
【问题描述】:

当我使用时:

rtrim('HeaderController', 'Controller');

我希望这将返回 Header 因为 HeaderController - Controller = Header 但这会返回“Head”,为什么?

【问题讨论】:

标签: php return


【解决方案1】:

rtrim 期望删除一个字符列表,而不是子字符串。所以rtrim 删除了Header 中的er

【讨论】:

    【解决方案2】:

    如果你想删除“控制器”子字符串,你可以这样做:

    $name = 'HeaderController';
    $shortName = str_replace('Controller', '', $name);
    

    要确保只替换字符串末尾的“Controller”,您需要一个正则表达式(这有点慢)

    $name = 'HeaderController';
    $shortName = preg_replace('/Controller$/', '', $name);
    

    $-符号标志着字符串的结束

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多