Почему не работает код (Не бойтесь, 20 строк) на php?
else if ($D=0)
Используйте сравнение (===), а не присваивание (=).$x == $b/(2*$a);
Используйте присваивание (=), а не сравнение (==).abcx($a=2, $b=-4, $c=3);
При такой записи вы создаётё вне функции переменные $a, $b и $c, а потом передаёте в неё их значения. Переменные при это продолжают болтаться снаружи и никак не связаны с одноименными локальными переменными функции. Это не ошибка, код будет работать, но действие бессмысленное и потенциально вредное. Вызывайте функцию как обычно: abcx(2, -4, 3);
Судя по количеству ошибок на такой маленькой площади, вам нужно вернуться к учебникам - вы не понимаете, что и зачем происходит в коде, а без этого понимания программировать бесполезно.
P.S. Что же вы лесенку-то не достроили? :)$D = sqrt($D);
$x == ($b + $D)/2*a;
$x2 === ($b - $D)/2*a;
<?php
function abcx ($a, $b, $c) {
    $D = $b*$b-4*$a*$c;
    if ($D > 0) {
        $D = sqrt($D);
        $x == ($b + $D)/2*a;
        $x2 == ($b - $D)/2*a;
        return "Два корня, x1 = ", $x, " x2 = ", $x2;
    }else if ($D == 0) {
        $x == $b/(2*$a);
        return "Один корень, x =", $x;
    }else if ($D<0) {
        return "Нет корней";
    }
}
echo abcx($a=2, $b=-4, $c=3);
?>