function count_odd_and_even_sum_of_pairs($arr, &$evenodd) {
$total_even = 0;
$total_odd = 0;
$size = count($arr);
for ($i = 0; $i < $size; $i++) {
if ($arr[$i] % 2 == 0) {
$total_even++;
} else {
$total_odd++;
}
}
// For all the even elements -> sum of the pair will be even
$evenPairs = (($total_even * ($total_even - 1)) / 2);
// For all the odd elements -> sum of the pair will be even
$evenPairs += (($total_odd * ($total_odd - 1)) / 2);
// All even elements * all odd element -> sum of the pair will be odd
$oddPairs = $total_even * $total_odd;
$evenodd[0] = $evenPairs;
$evenodd[1] = $oddPairs;
}
$arr = array(1, 2, 3, 4, 5);
$evenodd = array(0, 0);
// 1 + 3, 1 + 5, 2 + 4, 3 + 5 = 4 Even
// 1 + 2, 1 + 4, 2 + 3, 2 + 5, 3 + 4, 4 + 5 = 6 Odd
count_odd_and_even_sum_of_pairs($arr, $evenodd);
echo "Total Even Sum = " . $evenodd[0] . "\n";
echo "Total Odd Sum = " . $evenodd[1] . "\n";
/*
run:
Total Even Sum = 4
Total Odd Sum = 6
*/