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