|
|
|
| Извините за детский вопрос, но как узнать, чётное ли число в переменной или нет?
Нужно мне это для того, чтобы в цикле, в зависимости от значения $i (чётное или нечётное), делать то или иное действие. | |
|
|
|
|
|
|
|
для: Freddie_X
(23.03.2008 в 14:06)
| | Для этого можно воспользоваться проверкой
<?php
$var = 25;
if($var & 1) echo "Нечётное";
else echo "Чётное";
?>
|
| |
|
|
|
|
|
|
|
для: Freddie_X
(23.03.2008 в 14:06)
| |
<?php
if($i % 2)
echo "$i четное";
else
echo "$i нечетное";
?>
|
| |
|
|
|
|
|
|
|
для: Root
(23.03.2008 в 14:19)
| | Понятно! Спасибо!
Это получается, что знаки % и & означают деление нацело? | |
|
|
|
|
|
|
|
для: Freddie_X
(23.03.2008 в 14:28)
| | % даст остаток, и если он = 0, то сами думайте :) | |
|
|
|
|
|
|
|
для: Root
(23.03.2008 в 14:30)
| | наоборот :)
<?php
if($i % 2)
echo "$i нечетное";
else
echo "$i четное";
?>
|
| |
|
|
|
|
|
|
|
для: Freddie_X
(23.03.2008 в 14:28)
| | >Понятно! Спасибо!
>Это получается, что знаки % и & означают деление нацело?
Нет, просто для проверки чётности имеется большое количество приёмов (числа храняться в компьютере в бинарном формате), & - это побитовое И, а знак = возвращает значение последней операции 0 (FALSE) или 1 (TRUE) - по сути мы проверяем последний бит числа - если он равен 1 - число нечётное, если 0 - чётное. | |
|
|
|
|
|
|
|
для: Freddie_X
(23.03.2008 в 14:06)
| | cheops дал самый лучший ответ
подробнее тут:
http://dayte2.com/?u=shaman&act=state&num=17 (c) SHAman ;-) | |
|
|
|
|
|
|
|
для: afdm
(23.03.2008 в 15:41)
| | да, интересная ссылка :) | |
|
|
|
|
|
|
|
для: afdm
(23.03.2008 в 15:41)
| | Если говрить о машине, то еще быстрее было бы сдивнуть число вправо на один разряд. Жаль только в РНР не устнавливает при этом флаг переноса, а значит не приемлимо. | |
|
|
|