PHP函数根据字符数计算字符串长度和收费价格

时间:2013-08-23 16:54:11

标签: php count character opencart strlen

我有一个OpenCart VQMod,它当前计算字符串长度并按字符收费。它运作完美,但我需要它按照以下规则收费:

30-45个字符:$ 8.50

46个字符:12.00美元

编辑: 截至目前,这个mod将字符串长度与每个字符的设定价格相乘,但是我需要它才能为30-45个字符收取8.50美元的平价,或者46个字符的12美元。任何人都可以帮我修改以下PHP吗?我在这里粘贴整个文件。非常感谢您迄今为止的回复。我非常感谢社区的帮助。

编辑2:删除不必要的代码,仅显示字符串长度的部分。

                    //Q: Option Price By Character
                    $optprice = '';
                    $optprefix = '';
                    if ($option_query->row['type'] == 'text' || $option_query->row['type'] == 'textarea') {
                            if (strlen($option_value)) {
                                $optprice = (strlen($option_value) * $option_query->row['price_per_char']);
                                $optprefix = '+';
                                $option_price += $optprice;

2 个答案:

答案 0 :(得分:0)

首先找出哪一个是最大的数字。在这种情况下,它的45。

$price = 8.50;
for(i=1;i<45;i--){

   echo i - $price.'<br/>';
   if(i < $price){
       break;
    }     
}

答案 1 :(得分:0)

if ($option_query->row['type'] == 'text' || $option_query->row['type'] == 'textarea') {
    if (strlen($option_value)) {
        // LumberJack's new code
        $string_length = strlen($option_value);
        if($string_length >= 30 && $string_length <= 45) 
        { $optprice = 8.5; }
        else if($string_length >= 46)
        { $optprice = 12.00; }
        else {
        // end my new code
          $optprice = (strlen($option_value) * $option_query->row['price_per_char']);
        } // I moved this up two lines
        $optprefix = '+';
        $option_price += $optprice;
    } 
}