В PHP, когда мы делаем substr()
такой, что результирующая строка должна быть чем-то вроде 0004
PHP автоматически удаляет ведущие 0
с и просто дает 4
,
Я хочу избежать этого поведения. Я хочу, чтобы ведущие нули оставались там. Как я могу обеспечить это?
Например, следующие распечатки фрагментов 4
.
echo substr("100041", 1, 4);
Как я могу заставить его напечатать 0004
?
В любом случае создайте собственную функцию.
<?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"
Согласно документация это 100% строковая функция. Он не обрабатывает числа каким-либо особым образом.