增加一个字符串并保留任何数量的前导零

Incrementing a string and retaining whatever amount of leading zeros there is

我怎样才能让它工作:

$q = '0004';

echo ++$q; // outputs 5 instead of 0005

$q 是从数据库中提取的,并且可以有任意数量的前导零,所以我不能使用 str_pad 或 sprintf(除非我计算零的数量,但如果有更简单的方法)

谢谢!

$q='1'.$q;
$q++;
$q= substr($q, 1);

我认为它有效。

编辑: 它将是一个字符串。