PHP inc / dec порядок суммы 2 чисел

0

как я могу закодировать инкрементирующий порядок суммы двух чисел внутри функции, используя цикл while. если сумма больше 0, порядок должен быть декрементирующим. если оно меньше 0, оно должно увеличиваться. если сумма, например, равна 5, она должна быть уменьшена до 0. но если это -5, она должна быть увеличена до 0. Спасибо в Advance :)

    function inc($result){
    while ($_POST['result'] < 0){
echo $result;
$result++;
}

    function dec($result){
    while ($_POST['result'] > 0){
echo $result;
$result--;
}
  • 0
    это звучит как бесконечный цикл?
  • 0
    Мне жаль . Я не могу объяснить это хорошо. но результат должен быть, если, например, сумма равна 5, она должна уменьшаться до 0. Но если она равна -5, она должна увеличиваться до 0.
Показать ещё 1 комментарий
Теги:

3 ответа

0
Лучший ответ

Согласно моему комментарию, потому что вы не увеличиваете или не уменьшаете что-либо, вы получаете бесконечные циклы, поэтому вам нужно будет присваивать $ _POST ['result'] $ result или другой переменной?

function inc($result) {
    while ($result < 0) {
        echo $result;
        $result++;
    }
}

function dec($result) {
    while ($result > 0) {
        echo $result;
        $result--;
    }
}

и вставляем $ _POST ['result'] в качестве аргумента для функции:

inc($_POST['result'])
0

Я не знаю, правильно ли я вас понял...
Вы имеете в виду что-то вроде этого?

$result = $_POST['result'];
while ($result != 0) {
  echo $result;
  $result += ($result > 0 ? -1 : 1);
}
0

Вы можете использовать функцию range() для генерации массива нужных чисел.
То, что вы хотите сделать с ними, зависит от вас:

$nums = range( min($_POST['result'], 0), max($_POST['result'], 0) );

Он работает в обоих случаях, от нуля до нуля и от нуля до положительного.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню