0

对于我的网站,我需要执行以下操作

$value = "1|22";    
$explode = explode("|",$value);    
$a = $explode[0];    
$b = $explode[1]; 

这将按预期返回 a 和 b 作为 1 和 22。但我需要他们返回 $a 作为 00001 和 $b 作为 00022。因此,如果它们包含少于 5 个字符,我想添加 0 作为前缀,使其成为五位数。我怎样才能做到这一点?

4

2 回答 2

2
$a = str_pad($explode[0], 5, '0');
$b = str_pad($explode[1], 5, '0');

使用 PHP5.3,您可以0像这样添加

$explode = array_map (function ($entry) {
    return str_pad($entry, 5, '0');
}, $explode);

并分配

list($a, $b) = $explode;

完全没有(还是php5.3)

list($a, $b) = array_map (function ($entry) {
    return str_pad($entry, 5, '0');
}, explode('|', $value));
于 2011-07-25T15:19:33.743 回答
0

另一种方法。

$value = "1|22";    
$explode = explode("|",$value);    
$a = sprintf( '%1$05d', $explode[0] );    
$b = sprintf( '%1$05d', $explode[1] );
于 2011-07-25T15:27:47.050 回答