我有一个数字字符串,我需要从右开始将它分成两组,但不超过三组。
为了理解,这3组是“铜”,“银”和“金”,起始值是一个综合货币数量。例如:
10 -> 10铜缆
1010 -> 10银卡和10铜卡
102030 -> 10金、20银和30铜
1234567891010 -> 123456789金卡、10银卡和10铜卡
在php中怎么做?
发布于 2012-12-24 23:06:53
我只是将字符串转换成一个整数,比如here,然后做一些算术运算。
设x为数字
r1 = x % 10000;
gold = x / 10000;
copper = r1 % 100;
silver = r1 / 100;所以你有你所有的信息了。
其中%表示modulo
发布于 2012-12-24 23:15:37
使用正则表达式:
$items = array('12', '1234', '123456', '1234567891234');
foreach ($items as $item)
{
echo $item;
preg_match('/^(?:(?<gold>\d*)(?<silver>\d\d))?(?<copper>\d\d)$/', $item, $result);
foreach ($result as $key => $value)
{
if (is_int($key))
{
unset($result[$key]);
}
}
var_dump($result);
}https://stackoverflow.com/questions/14022828
复制相似问题