@maroxsasha

Не работает return PHP. Ничего не выводит на экран, что делать?

Мне нужно что-бы функция вернула корни уравнения в виде массива. Например ['x1' => 5, ‘x2’ => 9]. Однако я получаю пустоту. Почему?
<?php

function sqr($num1, $num2, $num3) {

$d = (pow($num2, 2)) - (4 * ($num1 * $num3));
if ($d > 0) {
    $x1 = (-$num2 + sqrt($d))/(2 * $num1);
    $x2 = (-$num2 - sqrt($d))/(2 * $num1);
    return [$x1, $x2];
}
elseif ($d == 0) {
    $x1 = $x2 = -$num2/(2 * $num1);
    return [$x1, $x2];
}
elseif ($d < 0) {
    return [];
}

}

sqr(-1, -2, 15);

?>
  • Вопрос задан
  • 185 просмотров
Решения вопроса 4
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Ну так в этом коде нет ни одного оператора вывода.
Что он, по вашему, должен выводить?

ЗЫ:
echo implode(",", sqr(-1, -2, 15)) ?: "Действительных корней нет";
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Мне нужно что-бы функция вернула корни уравнения в виде массива.
Она возвращает

Однако я получаю пустоту.
Однако не получаете

Почему?
Скорее всего вы подразумевали не "получение" а "вывод". Но никакого вывода на экран вы не используете.

Не работает return PHP. Ничего не выводит на экран, что делать?
Формально ответ - по тому что "получение"/"возвращение" и "вывод" абсолютно разные вещи.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Попробуй так

print implode(sqr(-1, -2, 15));

UPD: +implode
Ответ написан
GavriKos
@GavriKos
Ну хотя бы вот так сделайте:
var_dump(sqr(-1, -2, 15));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы