In the database I have a field with values such as C50003
.
I have a function that divides this value into: C5
and 0003
.
Now I need to add 1 to 0003, which would become 0004.
The problem is that when I do the sum (0003 1) the result is 4 and not 0004. (I have already tried doing 0003 0001, but nothing changes).
To fix this error I would have to count the number of initial 0's and put them back to the final result, but that would be a laborious check.
Is there any way to keep those 0's?
CodePudding user response:
As easy way:
$value = '0003';
$intValue = (int) $value;
$newValue = $intValue 1;
$formattedValue = str_pad($newValue, strlen($value), '0', STR_PAD_LEFT);
echo $formattedValue; // 0004
$value = '0012'; // => 0013
UPD: Change strlen($value) - strlen($intValue) 1
to strlen($value)
on the advice of @user1597430.