IT story

한 자리 숫자 앞에 0을 추가하는 PHP, 즉석에서

hot-time 2020. 5. 10. 10:26
반응형

한 자리 숫자 앞에 0을 추가하는 PHP, 즉석에서


이 질문에는 이미 답변이 있습니다.

PHP-단일 문자열을 테스트 한 다음 앞에 0을 붙이는 빠르고 즉각적인 방법이 있습니까?

예:

$year = 11;
$month = 4;

$stamp = $year.add_single_zero_if_needed($month);  // Imaginary function

echo $stamp; // 1104

sprintf를 사용할 수 있습니다 : http://php.net/manual/en/function.sprintf.php

<?php
$num = 4;
$num_padded = sprintf("%02d", $num);
echo $num_padded; // returns 04
?>

필요한 문자 수보다 적은 경우에만 0을 추가합니다.

편집 : @FelipeAls가 지적한대로 :

숫자로 작업 할 때는 특히 음수가 될 가능성이있는 경우 %d(대신 %s)를 사용해야 합니다. 양수 만 사용하는 경우 두 옵션 모두 제대로 작동합니다.

예를 들면 다음과 같습니다.

sprintf("%04s", 10);0010을
sprintf("%04s", -10);반환 0-10을 반환

어디로 :

sprintf("%04d", 10);0010을
sprintf("%04d", -10);반환 -010을 반환


str_pad0을 추가하는 데 사용할 수 있습니다

str_pad($month, 2, '0', STR_PAD_LEFT); 

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )


문자열 형식화를위한 범용 도구 sprintf:

$stamp = sprintf('%s%02s', $year, $month);

http://php.net/manual/en/function.sprintf.php

참고 URL : https://stackoverflow.com/questions/5659042/php-prepend-leading-zero-before-single-digit-number-on-the-fly

반응형