我有一个数字字符串,我需要从右边开始将其分成 2 组,但不超过 3 组。
要理解,这 3 组是“铜”、“银”和“金”,起始值是合成货币金额。例如:
10 -> 10 铜
1010 -> 10 银和 10 铜
102030 -> 10 金、20 银和 30 铜
1234567891010 -> 123456789 金 10 银 10 铜
如何在php中做到这一点?
我有一个数字字符串,我需要从右边开始将其分成 2 组,但不超过 3 组。
要理解,这 3 组是“铜”、“银”和“金”,起始值是合成货币金额。例如:
10 -> 10 铜
1010 -> 10 银和 10 铜
102030 -> 10 金、20 银和 30 铜
1234567891010 -> 123456789 金 10 银 10 铜
如何在php中做到这一点?
使用正则表达式:
$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);
}