我的问题是:我想要一个工作号码,这就是我得到的:
$mynumber=7915503;
echo substr($mynumber, 0, 3)." Gold ". substr($mynumber, 3, 2)." Silver " . substr($mynumber, 5, 2)." Bronze ";有了这个号码,就行了。产量: 791金55银03铜
但是,如果我把数字改为9,它会输出:9金银青铜,我想把数字9放进去,输出:0黄金0银9青铜
发布于 2016-03-06 00:49:25
很可能有更聪明的解决方案..。
<?php
$data = array(7915503, 9, 11, 211, 2211, 32211,332211, 3332211);
foreach( $data as $x ) {
echo $x, ' -> ';
$bronze = substr($x, -2); $x = substr($x, 0, -strlen($bronze));
$silver = substr($x, -2); $x = substr($x, 0, -strlen($silver));
$gold = substr($x, -3);
printf("gold:%d silver:%d bronze:%d\r\n", $gold, $silver, $bronze);
}版画
7915503 -> gold:791 silver:55 bronze:3
9 -> gold:0 silver:0 bronze:9
11 -> gold:0 silver:0 bronze:11
211 -> gold:0 silver:2 bronze:11
2211 -> gold:0 silver:22 bronze:11
32211 -> gold:3 silver:22 bronze:11
332211 -> gold:33 silver:22 bronze:11
3332211 -> gold:333 silver:22 bronze:11编辑:噢,是的,有:
foreach( $data as $x ) {
echo $x, ' -> ';
$bronze = $x % 100;
$silver = ($x / 100 ) % 100;
$gold = ($x / 10000 ) % 1000;
printf("gold:%d silver:%d bronze:%d\r\n", $gold, $silver, $bronze);
}同样的输出。
https://stackoverflow.com/questions/35821606
复制相似问题