@danyvasnafig

Почему дробное число при проверке на нечетность отбрасывает дробную часть php?

Почему дробное число при проверке на нечетность отбрасывает дробную часть php?
checkarr($_POST['arr']);

function countOfOddElem($str){
  $arr = explode(" ",$str);
  $count = 0;  
  for ($i = 0; $i < count($arr);$i++){  
    
    if($arr[$i] % 2 != 0){      
      $count++;

Я ввожу в инпут числа через пробел, потом через explode делаю из строки массив, после чего прохожусь по нему и проверяю элементы на четность $arr[$i] % 2 != 0 и увеличиваю счетчик, если элемент нечетный.
При этом если ввести дробное число, в котором целая часть нечетная, то все работает, а если ввести дробное число в котором целая часть четная, то такой элемент считается четным, почему так? Сижу туплю горит умираю памагити....
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
@heahoh
Full stackoverflow developer
php.net/manual/en/language.operators.arithmetic.php
Operands of modulo are converted to integers (by stripping the decimal part) before processing. For floating-point modulo, see fmod().
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы