считая в одной переменной разницу в операциях между двумя значениями массивов

Моя проблема в том, что когда я подсчитываю «выигрыш» игрока, он подсчитывает все выигрыши в предыдущем значении и текущем.

Более подробно, у меня есть эти значения

$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 numbersforeach($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("");

}

}

В этом случае счет между ними должен быть 1 2 для Джорджа, но мой код выводит также счет с первого выигрыша и добавленный счет.

Как я могу сделать это, чтобы бросить меня только добавленный счет ..?

Надеюсь, что вы понимаете мое объяснение проблемы, я в начале на этом языке.

0

Решение

Переместить отпечатки за пределы 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);
3

Другие решения

Наконец-то я это сделал !!

Большое спасибо 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);
0

По вопросам рекламы [email protected]