代码之家  ›  专栏  ›  技术社区  ›  Shy

如何重写/更改PHP substr()函数对前导零的默认删除?[关闭]

  •  0
  • Shy  · 技术社区  · 6 年前

    substr() 结果字符串应该是 0004 ,PHP会自动删除 0 4 .

    4 .

    echo substr("100041", 1, 4); 
    

    我怎样才能强制打印 ?

    3 回复  |  直到 6 年前
        1
  •  0
  •   BadPiggie    6 年前
        2
  •  0
  •   BadPiggie    6 年前

    无论如何,创建一个自己的函数。。

    <?php
    
    function substring($data,$from,$length){
    
        $sub = "";
        $data = str_split($data);
        $i = 0;
        $l = 1;
        foreach($data as $letter){
    
            if($i >= $from && $l <= $length){
    
                $sub .= $letter;
                $l = $l+1;
            }
    
            $i = $i+1;
        }
    
        return $sub;
    } 
    
    echo substring("100041", 1, 4);
    
    ?>
    
        3
  •  0
  •   Álvaro González    6 年前

    var_dump(substr("100041", 1, 4));
    
    string(4) "0004"
    

    ( online demo )

    documentation 这是一个100%字符串函数。它不以任何特殊的方式处理数字。