循环变量,递增10并创建新变量

时间:2015-03-24 10:57:33

标签: php

我有多少钱,例如。 31; 48; 57; 63; 79; 84和95

我想要做的是循环每个“$ amount”,如果它们高于50,则创建为每10个增量添加1的变量

例如

$amount(57) = +1    
$amount(63) = +2    
$amount(79) = +3    
$amount(84) = +4     
$amount(95) = +5

更新版本:

为模糊的问题道歉。

我有

$amount = array(end($percentage));

例如。 47,63,79,95

我想要的是另一个要创建的变量,例如。 $ to_add if $ amount> 50。 然后,对于每个$ amount> = 50,将$ 1添加到$ to_add

应该是这样的:

$amount(47)  =  NULL ($to_add = 0)
$amount(50)  =  $to_add = 1 – *WOULD HAVE BEEN*
$amount(63)  =  $to_add = 2
$amount(79)  =  $to_add = 3
$amount(80)  =  $to_add = 4 – *WOULD HAVE BEEN*
$amount(95)  =  $to_add = 5

感谢您到目前为止的输入 - 我正在测试我已收到的反馈 - 非常感谢您!

2 个答案:

答案 0 :(得分:0)

有点像这样:

$array=array();
$i=0;
foreach($amounts as $amount){
   if($amount>50){
      $value=floor($amount/10);
      $array[$i]=$value;
      $i++;
   }
}
var_dump($array);

现在$array包含您想要的值。您必须使代码适应您的代码,因为我不知道$amount是什么(我假设数组的值)

答案 1 :(得分:0)

这应该适合你:

(这里我只使用array_map()浏览每个元素,然后检查值是否超过50,如果是,我每10个加1)

<?php

    $amount = [31, 48, 57, 63, 79, 84, 95];

    print_r($amount);
    $amount = array_map(function($v){
        if($v / 50 >= 1)
            return ceil($v + ($v-50)/10);
        return $v;
    }, $amount);

    print_r($amount);

?>

输出:

Array ( [0] => 31 [1] => 48 [2] => 57 [3] => 63 [4] => 79 [5] => 84 [6] => 95 )
Array ( [0] => 31 [1] => 48 [2] => 58 [3] => 65 [4] => 82 [5] => 88 [6] => 100 )