【发布时间】:2013-12-03 08:05:29
【问题描述】:
我有一个小谜题正在尝试解决,但还没有快乐。我想让一组 ifelse 语句过滤一个数字变量。有点像这样。
如果资产大于 1500000,则使用现有数字将值降低到最大 6 位数字。
如果资产小于 599999,则使用现有数字将值设为最大 6 位数。
如果资产在 599999 和 1500000 之间,则不理会变量并让它通过。
if ($assets > 1500000) {
$assets_calc = preg_match_all('/(\d{6})/', $assets_array, $matches);
}
elseif ($assets < 599999) {
$assets_calc = preg_match_all('/someregex here/', $assets_array, $matches);
} else {
$assets = $assets
}
不确定这是否可能。
【问题讨论】:
-
资产??什么样的资产?
$assets是数组、字符串还是整数? -
你能给我们举个例子吗?值是 1500001 - 你想得到什么数字?如果是 599998?
-
@w0rldart - 很明显他指的是代码中的
$assets变量。而且由于他将其与数字进行比较,因此它必须是一个数字(或带有数字的字符串,对于 PHP 来说无关紧要)。 -
你想得到字符串结果还是整数结果
-
$assets 是我从 CSV 文件中提取的字符串。对不起,我不够清楚。如果字符串小于 6 位,我想在其中添加一个数字,使其再次成为 6 位数字。如果数字超过 6 位,我想删除一个数字,使其变为 6。
标签: php math preg-replace preg-match digits