За последние 24 часа нас посетили 22563 программиста и 1054 робота. Сейчас ищут 699 программистов ...

Цикл вычитания

Тема в разделе "PHP для новичков", создана пользователем PARROt, 3 дек 2020.

  1. PARROt

    PARROt Новичок

    С нами с:
    3 дек 2020
    Сообщения:
    24
    Симпатии:
    2
    Адрес:
    Санкт-Петербург
    В форму вводятся данные: день, месяц, год и день месяц год партнера.
    Далее проверяем что введено, для обоих получаем общее число например 36.
    Число записей в базе 9 штук.
    Каким то волшебным образом надо полученное общее число 36 привести к числу записей равному от 1 до 9. Все перепробовала, работает через раз, то выводит, то не выводит, голову сломала. Я не программист, я любитель, не совсем чайник, но и не кофейник.
    Код (Text):
    1. $sum=56;
    2. $total=9;
    3. if ($sum<=$total){
    4. echo $sum;
    5. } else if ($sum>$total){
    6. while (1)
    7. {
    8. $sum -= $total;
    9. if ( $sum > 0 && $sum < 9 ) { break; }
    10. }
    11. $sum = sprintf($sum);
    12. echo $sum;
    13. }
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Придется развернуть мысль.
    Пока непонятно.
     
  3. PARROt

    PARROt Новичок

    С нами с:
    3 дек 2020
    Сообщения:
    24
    Симпатии:
    2
    Адрес:
    Санкт-Петербург
    Полученное число в результате вычитания одного из другого должно быть равным от 1 до 9 по количеству полей в базе (9). Т.е. вычесть 1 раз одно из другого не помогает, нужен цикл который будет вычитать до момента от 1 до 9.
    Написанный мной цикл то работает, то не работает и я не понимаю в чем дело.
    --- Добавлено ---
    Код (Text):
    1. $vs=gmp_sub("$sum", "$total");
    Вычитает одно из другого один раз. Я уже весь инет перелопатила ничего не нашла.
     
  4. PARROt

    PARROt Новичок

    С нами с:
    3 дек 2020
    Сообщения:
    24
    Симпатии:
    2
    Адрес:
    Санкт-Петербург
    Всем спасибо, проблема решена, т.к. записей 9, а $sum <9 (считай 8), соответственно ничего и не выводилось.
     
  5. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    PHP:
    1. <?php
    2. $sum=56;
    3. $total=9;
    4. ?>
    Правильно ли я понимаю?
    То есть нужно вычитать из $sum $total раз?
    А что именно?
     
  6. mainprofilemail

    mainprofilemail Активный пользователь

    С нами с:
    14 апр 2018
    Сообщения:
    101
    Симпатии:
    2
    Можете циклом проверять, а можете воспользоваться рекурсией. Я думаю так будет лучше.

    Просто проверяйте если ещё можно вычитать то запускайте рекурсию, ели уже вычитать нельзя то соответственно наоборот