Я сделал копировать вставить, кажется, работает.
но я думаю, что знаю вашу проблему, ваш ввод "2" - это с двойными кавычками?
когда я ставлю «2», я получаю тот же результат, что и вы.
Теперь, когда вы вводите «2» на входе, вы фактически получаете «\» 2 \ »« в коде, который, конечно, не число, так что обрезка может быть вашим решением:
echo "Enter the first number: ";
$num1 = trim(fgets(STDIN), '"');
// echo $num1;
echo "Enter the second number: ";
$num2 = trim(fgets(STDIN), '"');
// echo $num2;
$z= $num1 + $num2;
$a = "2";
$b = "2";
echo "Sum of the numbers: ".$z." - ".($a+$b);