代码有点大,所以我想避免在这里发布。
http://codepad.org/ARzh7ya9
我想要做的是将一堆数字加载到一个数组中。所有这些号码都有前缀,无论它们是本地的、移动的还是共享的。
$this->callArr 包含诸如 46703920293:402 或 4629304921:94 之类的数字(数字:通话时长)。
如您所见,4670 是一个前缀,46 是另一个前缀。起初这可能看起来令人困惑,但后来是本地电话,第一个是移动电话。
我在做什么:对于 callArr 中的每个号码,首先分解为单独的号码和持续时间。然后在这种情况下删除国家代码 46 然后只获取前两个数字。
46703920293 会神奇地变成 70,表示它是一个手机号码。
然后对于每个数字,通过价格表数组 $this->priceArr。
priceArr 具有以下结构 number:price:type:oa。
示例:4670:0.65:mobile:0.15
价目表仅包含前缀。oa = 通话的开盘成本。
在第 27 行,我检查 $number(即价格表前缀)的长度是否为 == 2。如果是,则它是本地的 46 数字。如果不是,则删除 46(国家代码)。
问题在第 41 行。他可以找到所有移动匹配,所有免费和共享。但他在接听本地电话时遇到了问题。谁能看到这里做错了什么?
一大堆文字希望大家多多包涵!