-1

私はこれを持っています:

preg_replace('/(\d{1}|\d{2})/gi', '$1', 'some number');

テキストが1桁の数字の場合、$ 1は1桁の数字を返し、2桁の場合は、2桁の数字を返します。しかし、返す必要のある数字は常に2桁でした。

1 => 01 
2 => 02
...
10 => 10
...
99 => 99

どうやってやるの?

4

4 に答える 4

1

str_pad()を使用します。ずっと安いです。http://php.net/str_pad

于 2012-07-16T06:49:06.757 に答える
1

なぜそんなに複雑なのですか?KISSと使用str_pad

echo str_pad($input, 2, "0", STR_PAD_LEFT);
于 2012-07-16T06:49:47.303 に答える
1

これは、修飾子を使用したり、関数を使用eしてphpコードを実行したりするなど、要件を満たすものを使用することを意味します。preg_replacestr_padsprintf

preg_replace('/(\d{1}|\d{2})/ie', 'sprintf("%02d",$1)', 'some number');

于 2012-07-16T07:10:34.463 に答える
0

を使用してくださいstr_pad()e修飾子はPHP5.5.0で非推奨になっているため、避ける必要があります。

于 2014-07-10T14:38:30.180 に答える