PHP/MySQL | Division by zero in охх
Тема закрыта by
Trec80
![](https://bym.guru/files/icon/12070.png)
Пишу игруху с 0...
Сейчас прописываю класс на статус хп, мп екс и прочее..
Столкнулся с тем что интерпретатор выдает, что делить на 0 нельзя...
Пробивал return и не хера...
Либо я туплю от двух дней бессонных либо хз ваще..
Как можно решить ? дополнительные ifы юзать не хочу, хочу узнать можно ли как то решить по другому..
class Status {
public static function exp($id) {
$exp_progress = round(100/($exp/$id));
if($exp_progress > 100)
{
$exp_progress = 100;
}
}
}
Сейчас прописываю класс на статус хп, мп екс и прочее..
Столкнулся с тем что интерпретатор выдает, что делить на 0 нельзя...
Пробивал return и не хера...
Либо я туплю от двух дней бессонных либо хз ваще..
Как можно решить ? дополнительные ifы юзать не хочу, хочу узнать можно ли как то решить по другому..
class Status {
public static function exp($id) {
$exp_progress = round(100/($exp/$id));
if($exp_progress > 100)
{
$exp_progress = 100;
}
}
}
Скорее всего одна из переменных имеет значение 0, и именно поэтому возникает Division by zero.
Попробуй проверить области видимости и покажи вывод print_r обоих переменных.
________
посл. ред. 21.11.2016 в 18:57; всего 1 раз(а); by monobogdan
Попробуй проверить области видимости и покажи вывод print_r обоих переменных.
________
посл. ред. 21.11.2016 в 18:57; всего 1 раз(а); by monobogdan
monobogdan (21.11.2016 в 18:57)
Скорее всего одна из переменных имеет значение 0, и именно поэтому возникает Division by zero.
Попробуй проверить области видимости и покажи вывод print_r обоих переменных.
Скорее всего одна из переменных имеет значение 0, и именно поэтому возникает Division by zero.
Попробуй проверить области видимости и покажи вывод print_r обоих переменных.
Нуу вообще то значение 0 в функциях и прочем это нормальность, интерпрет.. ругаться на это никогда не будет..
Тут дело в делении на 0 , и деление происходит $exp_progress = round(100/($exp/$id));
Мне нужно узнать есть ли другие решения кроме того чтоб не использовать if
Trec80, $exp чему равна?
386211425, 60 только к чему вопрос?)
________
посл. ред. 21.11.2016 в 19:15; всего 1 раз(а); by Trec80
________
посл. ред. 21.11.2016 в 19:15; всего 1 раз(а); by Trec80
Trec80, попробуй abs
monobogdan (21.11.2016 в 19:16)
Trec80, попробуй abs
Trec80, попробуй abs
не прокатит, деление все равно будет на 0)
Trec80, где ты её обьявляешь? Функция вобще её видит? Так же и $exp_progress
386211425 (21.11.2016 в 19:20)
Trec80, где ты её обьявляешь? Функция вобще её видит? Так же и $exp_progress
Trec80, где ты её обьявляешь? Функция вобще её видит? Так же и $exp_progress
раз мне выдал интерпретатор ошибку, значит все работает!
Потому что по умолчанию в базе у меня стоит 0) даю больше 0 все норм!
________
посл. ред. 21.11.2016 в 19:22; всего 1 раз(а); by Trec80
Ладно, замбомбил
if($ank[exp] != 0)
$exp_progress = round(100/($exp/$ank['exp']));
else
$exp_progress ='0';
потом избавлюсь от этих костылей
if($ank[exp] != 0)
$exp_progress = round(100/($exp/$ank['exp']));
else
$exp_progress ='0';
потом избавлюсь от этих костылей