PHP - 在单个变量中计算两个数组值之间的操作差异

时间:2016-07-14 17:48:02

标签: php arrays foreach operators addition

我的问题是,当我计算"胜利"一个玩家,它计算前一个值和当前值的每个胜利。

更详细,我有这个值

for(int i=0; i<p1.someAttr.Count(); i++)
{
     *use i.someAttr[i] in some way*
}

他们之间的分数在这种情况下乔治必须是1 2,但我的代码也输出了第一次胜利的分数和加入的分数。

我怎样才能让我只追加加分...?

希望你理解我对这个问题的解释,我就是从这种语言开始。

2 个答案:

答案 0 :(得分:3)

将打印件移到foreach

之外
$arr1 = array(10, 12, 14);  // Martina's numbers 
$arr2 = array(20, 20, 10);  // George's numbers
$alice = 0;
$bob = 0;

foreach($arr1 as $key => $val) {
    if($val > $arr2[$key]) {
        // Martina win , +1 point  for Martina
        $alice++;
    } elseif($val < $arr2[$key]) {
        // George win , +1 point for George
        $bob++;
    } 

}

print('Alice: ' . $alice . PHP_EOL);
print('Bob: ' . $bob . PHP_EOL); 

答案 1 :(得分:0)

最后我做到了!!

非常感谢E_p帮助你解决这个问题。 最终和正确的代码是:

<?php

// Values of Martina's numbers

$a0 = 21;
$a1 = 2;
$a2 = 32;

//Values of George's numbers
$b0 = 22; 
$b1 = 3;  
$b2 = 13; 

//Putting the values into arrays
$arr1 = array($a0, $a1, $a2);
$arr2 = array($b0, $b1, $b2);

// Given two variables for players score
$martina = 0;
$george = 0;


foreach($arr1 as $key => $val){

            if($val > $arr2[$key]){
                $martina++;
            }elseif($val < $arr2[$key]){
                $george++;
            }

}

print($martina . " " . $george . PHP_EOL);