如何通过 PHP substr() 函数 override/change 默认删除前导零?
How to override/change the default removal of leading zeroes by PHP substr() function?
在 PHP 中,当我们执行 substr()
使得结果字符串应该类似于 0004
时,PHP 会自动删除前导 0
s并给出 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"
根据 documentation,这是一个 100% 的字符串函数。它不以任何特殊方式处理数字。
在 PHP 中,当我们执行 substr()
使得结果字符串应该类似于 0004
时,PHP 会自动删除前导 0
s并给出 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"
根据 documentation,这是一个 100% 的字符串函数。它不以任何特殊方式处理数字。