如何通过 PHP substr() 函数 override/change 默认删除前导零?

How to override/change the default removal of leading zeroes by PHP substr() function?

在 PHP 中,当我们执行 substr() 使得结果字符串应该类似于 0004 时,PHP 会自动删除前导 0s并给出 4

我想避免这种行为。我希望前导零留在那里。我该如何执行?

例如,以下代码段打印 4.

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

如何强制它打印 0004?

谁说的? Php 不删除字符串中的 0...

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

<?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);

?>

它没有:

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

(online demo)

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