wufeng
V2EX  ›  问与答

这 PHP 代码 我哪里错了?

  •  
  •   wufeng · May 5, 2019 · 2871 views
    This topic created in 2594 days ago, the information mentioned may be changed or developed.

    $str=ltrim("852546","852"); echo $str;

    我设想是 去除前面的 852 但结果是去除了 8525

    15 replies    2019-05-05 15:18:58 +08:00
    Sanko
        1
    Sanko  
       May 5, 2019 via Android
    maichael
        2
    maichael  
       May 5, 2019
    第二个参数是一个“字符集”,不是一个“字符串”。
    Telegram
        3
    Telegram  
       May 5, 2019
    同好奇
    leadfast
        4
    leadfast  
       May 5, 2019
    同好奇+1
    donething
        5
    donething  
       May 5, 2019 via Android
    不懂
    haiyang416
        6
    haiyang416  
       May 5, 2019
    去掉固定字符串可以用 str_replace。
    haiyang416
        7
    haiyang416  
       May 5, 2019
    trim 函数的第二个参数可以理解为正则里面的 [852]。
    nazor
        8
    nazor  
       May 5, 2019
    去掉前面的所有的 8,5,2 所以会去掉两个 5
    leadfast
        9
    leadfast  
       May 5, 2019
    NjcyNzMzNDQ3
        10
    NjcyNzMzNDQ3  
       May 5, 2019
    有趣的问题,代替方案例如 substr/preg_repalce/str_replace 皆可。


    原因是如二楼所说,ltrim 的第二个参数去掉的二楼说的字符集(即 ASCII )码。
    例子来自 php 文档:
    // trim the ASCII control characters at the beginning of $binary
    // (from 0 to 31 inclusive)
    $clean = ltrim($binary, "\x00..\x1F");


    str_replace 的第二个参数类型是:@param mixed $replace
    ltrim 的第二个参数类型是:@param string $character_mask
    tongz
        11
    tongz  
       May 5, 2019
    >>> trim('852546245258', '852');
    => "4624"
    wufeng
        12
    wufeng  
    OP
       May 5, 2019
    理解了 我以为是字符串
    现在用 str_replace 代替了
    juneszh
        13
    juneszh  
       May 5, 2019
    看看 document 就能找到答案。。。
    NjcyNzMzNDQ3
        14
    NjcyNzMzNDQ3  
       May 5, 2019
    @wufeng 用 preg_replace 吧,你用的 ltrim 说明你要替换开头的字符,str_replace 所有位置都会被替换的。
    supuwoerc
        15
    supuwoerc  
       May 5, 2019
    试试 str_replace
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1160 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 18:05 · PVG 02:05 · LAX 11:05 · JFK 14:05
    ♥ Do have faith in what you're doing.