数字排序 - 金 - 银 - 铜


Number sort - Gold - Silver - Bronze

我遇到了一个问题。我想要一个有效的数字排序,这就是我得到的:

$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 铜

希望你们能帮上忙。

你可以填充字符串,例如这样:

$mynumber = substr("0000000", strlen($mynumber)) . $mynumber;

或者如果它是一个整数:

$bronze = $mynumber % 100;
$silver = ($mynumber / 100) % 100;
$gold = $mynumber / 10000;

也就是说,如果您有可能更改这些数字的存储格式,我会这样做。为什么不取一个数组?

你可以从结尾开始,使用substr负数。"如果 start 为负数,则返回的字符串将从字符串末尾的第个字符开始。"