PHP에 0001
을 포함하는 변수가 있고 그 변수에 1을 더하면 결과는 0002
이 아닌 2가됩니다.PHP에서 제로 패딩 된 숫자 문자열을 추가하고 제로 패딩을 유지하려면 어떻게해야합니까?
어떻게이 문제를 해결할 수 있습니까?
PHP에 0001
을 포함하는 변수가 있고 그 변수에 1을 더하면 결과는 0002
이 아닌 2가됩니다.PHP에서 제로 패딩 된 숫자 문자열을 추가하고 제로 패딩을 유지하려면 어떻게해야합니까?
어떻게이 문제를 해결할 수 있습니까?
$foo = sprintf('%04d', $foo + 1);
또 다른 옵션은 str_pad()입니다.
$text = str_pad($text, 4, '0', STR_PAD_LEFT);
PHP 데이터 유형과 다양한 유형의 변수에 대한 조작을 수행 할 때 PHP 데이터 유형이 어떻게 영향을 받는지 이해하는 데 도움이 될 것입니다. 당신은 "PHP에서 변수는 0001"이라고 말하면서 어떤 변수가 그 변수입니까? integer는 그 값을 가질 수 없기 때문에 아마도 "0001"이라는 문자열입니다 (단지 1). 이 수행 할 때 : 그럼.
echo ("0001" + 1);
... +
운영자는 말한다, "흠, 그건 문자열과 정수 나 문자열과 int를 추가하는 방법을 모르겠어하지만 내가 어떻게 알아. 문자열 INTO를 int로 변환 한 다음 두 개의 int를 함께 추가하면 그렇게 할 수 있습니다. "그러면"0001 "이 1로 변환됩니다. 왜? 문자열을 정수로 변환하는 PHP 규칙은 문자열의 선행 0을 몇 개라도 버립니다. 즉, 문자열 "0001"이 1이됩니다.
+
다음과 같이 말합니다. "이봐, 나는 1과 1을 더하는 방법을 안다." 그 진술의 출력은 2입니다.
문제는 해결하지 못했지만 잘 설명했습니다. :) – DanMan
<?php
#how many chars will be in the string
$fill = 6;
#the number
$number = 56;
#with str_pad function the zeros will be added
echo str_pad($number, $fill, '0', STR_PAD_LEFT);
// The result: 000056
?>
감사합니다. – Ryan