<?php
// Choose Operation
// 1 - Calculator
// 2 - Matrix Addition
// 3 - Matrix Multiplication
// 4 - Matrix Transpose

$choice = 4;

// Simple Calculator
$a = 10;
$b = 5;
$op = '+';

// Matrices
$a1 = array(
    array(1, 2),
    array(3, 4)
);

$b1 = array(
    array(5, 6),
    array(7, 8)
);

$n = 2;

switch ($choice) {

    // Calculator
    case 1:
        switch ($op) {
            case '+':
                echo "Result = " . ($a + $b);
                break;

            case '-':
                echo "Result = " . ($a - $b);
                break;

            case '*':
                echo "Result = " . ($a * $b);
                break;

            case '/':
                if ($b != 0)
                    echo "Result = " . ($a / $b);
                else
                    echo "Division by zero not allowed";
                break;

            default:
                echo "Invalid Operator";
        }
        break;

    // Matrix Addition
    case 2:
        echo "Matrix Addition:<br>";

        for ($i = 0; $i < $n; $i++) {
            for ($j = 0; $j < $n; $j++) {
                $sum[$i][$j] = $a1[$i][$j] + $b1[$i][$j];
                echo $sum[$i][$j] . " ";
            }
            echo "<br>";
        }
        break;

    // Matrix Multiplication
    case 3:
        echo "Matrix Multiplication:<br>";

        for ($i = 0; $i < $n; $i++) {
            for ($j = 0; $j < $n; $j++) {
                $mul[$i][$j] = 0;

                for ($k = 0; $k < $n; $k++) {
                    $mul[$i][$j] +=
                        $a1[$i][$k] * $b1[$k][$j];
                }

                echo $mul[$i][$j] . " ";
            }
            echo "<br>";
        }
        break;

    // Matrix Transpose
    case 4:
        echo "Matrix Transpose:<br>";

        for ($i = 0; $i < $n; $i++) {
            for ($j = 0; $j < $n; $j++) {
                $trans[$i][$j] = $a1[$j][$i];
                echo $trans[$i][$j] . " ";
            }
            echo "<br>";
        }
        break;

    default:
        echo "Invalid Choice";
}
?>