값이 포함 된 변수가 있습니다 1234567
.
정확히 8 자리를 포함하고 싶습니다 01234567
.
이를위한 PHP 함수가 있습니까?
답변
사용 sprintf
:
sprintf('%08d', 1234567);
또는 다음을 사용할 수도 있습니다 str_pad
.
str_pad($value, 8, '0', STR_PAD_LEFT);
답변
값이 $ value 인 경우 :
-
그것을 반향 시키려면 :
printf("%08d", $value);
-
그것을 얻기 위해:
$formatted_value = sprintf("%08d", $value);
그 트릭을해야합니다
답변
1 대신 01이 필요할 때 다음이 나를 위해 일했습니다.
$number = 1;
$number = str_pad($number, 2, '0', STR_PAD_LEFT);
답변
echo str_pad("1234567", 8, '0', STR_PAD_LEFT);
답변
답변
sprintf
당신이 필요한 것입니다.
위의 링크 된 페이지에서 EDIT ( 어떻게 downvotes에 의해 요청 됨 ) 샘플은 다음과 같습니다. “제로 패딩 정수”:
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
답변
간단한 답변
$p = 1234567;
$p = sprintf("%08d",$p);
“8 자리를 넘지 않아야합니다”라는 주석을 해석하는 방법과 입력 또는 출력을 참조하는 방법을 잘 모르겠습니다. 출력을 참조하는 경우 문자열을 자르려면 추가 substr () 호출이 있어야합니다.
처음 8 자리를 자르려면
$p = substr(sprintf('%08d', $p),0,8);
마지막 8 자리를 자르려면
$p = substr(sprintf('%08d', $p),-8,8);