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

PHP-在单个变量中计算两个数组值之间的运算差,php,arrays,foreach,operators,addition,Php,Arrays,Foreach,Operators,Addition,我的问题是当我计算一个玩家的“胜利”时,它会计算前一个值和当前值中的每一个胜利 更详细地说,我有这个值 $a0 = 10; $a1 = 12; $a2 = 14; $b0 = 20; $b1 = 20; $b2 = 10; $arr1 = array($a0, $a1, $a2); // Martina's numbers $arr2 = array($b0, $b1, $b2); // George's numbers foreach($arr1 as $key => $

我的问题是当我计算一个玩家的“胜利”时,它会计算前一个值和当前值中的每一个胜利

更详细地说,我有这个值

$a0 = 10;
$a1 = 12;
$a2 = 14;

$b0 = 20;
$b1 = 20; 
$b2 = 10;

$arr1 = array($a0, $a1, $a2);  // Martina's numbers 
$arr2 = array($b0, $b1, $b2);  // George's numbers


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

        if($val > $arr2[$key]){  // Martina win , +1 point  for Martina

            $martina++;
            print($martina . " ");

        }elseif($val < $arr2[$key]){   // George win , +1 point for George
            $george++;
            print($george . " "); 

        }else{  // if is Equal - no score increase 

            print("");

        } 

}
$a0=10;
$a1=12;
$a2=14;
$b0=20;
$b1=20;
$b2=10;
$arr1=数组($a0、$a1、$a2);//玛蒂娜数
$arr2=数组($b0、$b1、$b2);//乔治的数字
foreach($arr1作为$key=>$val){
如果($val>$arr2[$key]){//Martina获胜,Martina得+1分
$martina++;
印刷品($martina“);
}埃尔塞夫($val<$arr2[$key]){//George win,乔治+1分
$george++;
印刷品($乔治“);
}否则{//如果相等-分数不增加
打印(“”);
} 
}
在这种情况下,他们之间的分数对于George来说必须是12分,但是我的代码还输出了第一次获胜的分数和相加的分数

我怎样才能做到只给我增加分数


希望您理解我对这个问题的解释,我刚开始学习这门语言。

将打印移到
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); 
$arr1=数组(10,12,14);//玛蒂娜数
$arr2=数组(20,20,10);//乔治的数字
$alice=0;
$bob=0;
foreach($arr1作为$key=>$val){
如果($val>$arr2[$key]){
//玛蒂娜获胜,玛蒂娜得1分
$alice++;
}elseif($val<$arr2[$key]){
//乔治赢了,乔治得1分
$bob++;
} 
}
打印('Alice:'.$Alice.PHP_EOL);
打印('Bob:'.$Bob.PHP_EOL);

将打印内容移到
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); 
$arr1=数组(10,12,14);//玛蒂娜数
$arr2=数组(20,20,10);//乔治的数字
$alice=0;
$bob=0;
foreach($arr1作为$key=>$val){
如果($val>$arr2[$key]){
//玛蒂娜获胜,玛蒂娜得1分
$alice++;
}elseif($val<$arr2[$key]){
//乔治赢了,乔治得1分
$bob++;
} 
}
打印('Alice:'.$Alice.PHP_EOL);
打印('Bob:'.$Bob.PHP_EOL);
我终于做到了

非常感谢您对解决此问题的帮助。 最终正确的代码是:

<?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);
我终于做到了

非常感谢您对解决此问题的帮助。 最终正确的代码是:

<?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);

move
prints
foreach
hehe之外的
foreach:“玛蒂娜+1分”,给爱丽丝加一分。“乔治得+1分”,为Bob xDmove
prints
foreach
hehe之外加一分。“玛蒂娜得+1分”,为Alice加一分。“George得+1分”,给Bob xDGood加一分,这是可行的,但如果3个值中的2个或数组的3个值中的一个相等,我如何才能使其生效,将我算为数字较大者的赢家分。。。和等于零或+0。。。这里也有一个问题…好的,这是可行的,但是如果数组的3个值中的2个或3个值中的一个相等,我如何才能使它起作用,将我算为数字较大者的赢家分数。。。和等于零或+0。。。还有一个问题..行:
$george
$martina是无用的,因为它们什么都不做。至于
echo“插入正确的值!”不确定你是如何到达那里的。现在它几乎100%符合我的答案。你为什么不接受我的回答呢
$martina是无用的,因为它们什么都不做。至于
echo“插入正确的值!”不确定你是如何到达那里的。现在它几乎100%符合我的答案。你为什么不接受我的回答?