我有一个数字字符串,我需要将它分成两组,从右开始,但不超过三组。
要理解,这3组是"铜","银"one_answers"金",起始值是一个合成的货币量。例如:
10 -> 10 copper
1010 - 1010银和1010铜
102030 -> 10金20银30铜
1234567891010 -> 123456789金10银10铜
如何在php中做?
我会把String转换成int型,就像这里一样,然后做一些算术运算。
设x为数
r1 = x % 10000;
gold = x / 10000;
copper = r1 % 100;
silver = r1 / 100;
所以你有你所有的信息。
其中%
表示模
使用正则表达式
$items = array('12', '1234', '123456', '1234567891234');
foreach ($items as $item)
{
echo $item;
preg_match('/^(?:(?<gold>d*)(?<silver>dd))?(?<copper>dd)$/', $item, $result);
foreach ($result as $key => $value)
{
if (is_int($key))
{
unset($result[$key]);
}
}
var_dump($result);
}