Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Чётное число
 
 автор: Freddie_X   (23.03.2008 в 14:06)   письмо автору
 
 

Извините за детский вопрос, но как узнать, чётное ли число в переменной или нет?
Нужно мне это для того, чтобы в цикле, в зависимости от значения $i (чётное или нечётное), делать то или иное действие.

   
 
 автор: cheops   (23.03.2008 в 14:14)   письмо автору
 
   для: Freddie_X   (23.03.2008 в 14:06)
 

Для этого можно воспользоваться проверкой
<?php
  $var 
25;
  if(
$var 1) echo "Нечётное";
  else echo 
"Чётное";
?>

   
 
 автор: Root   (23.03.2008 в 14:19)   письмо автору
 
   для: Freddie_X   (23.03.2008 в 14:06)
 


<?php
if($i 2)
    echo 
"$i четное";
else 
    echo 
"$i нечетное";
?>

   
 
 автор: Freddie_X   (23.03.2008 в 14:28)   письмо автору
 
   для: Root   (23.03.2008 в 14:19)
 

Понятно! Спасибо!
Это получается, что знаки % и & означают деление нацело?

   
 
 автор: Root   (23.03.2008 в 14:30)   письмо автору
 
   для: Freddie_X   (23.03.2008 в 14:28)
 

% даст остаток, и если он = 0, то сами думайте :)

   
 
 автор: Root   (23.03.2008 в 14:47)   письмо автору
 
   для: Root   (23.03.2008 в 14:30)
 

наоборот :)

<?php 
if($i 2
    echo 
"$i нечетное"
else  
    echo 
"$i четное"
?>

   
 
 автор: cheops   (23.03.2008 в 14:49)   письмо автору
 
   для: Freddie_X   (23.03.2008 в 14:28)
 

>Понятно! Спасибо!
>Это получается, что знаки % и & означают деление нацело?
Нет, просто для проверки чётности имеется большое количество приёмов (числа храняться в компьютере в бинарном формате), & - это побитовое И, а знак = возвращает значение последней операции 0 (FALSE) или 1 (TRUE) - по сути мы проверяем последний бит числа - если он равен 1 - число нечётное, если 0 - чётное.

   
 
 автор: afdm   (23.03.2008 в 15:41)   письмо автору
 
   для: Freddie_X   (23.03.2008 в 14:06)
 

cheops дал самый лучший ответ
подробнее тут:
http://dayte2.com/?u=shaman&act=state&num=17 (c) SHAman ;-)

   
 
 автор: Root   (23.03.2008 в 15:44)   письмо автору
 
   для: afdm   (23.03.2008 в 15:41)
 

да, интересная ссылка :)

   
 
 автор: sim5   (23.03.2008 в 18:19)   письмо автору
 
   для: afdm   (23.03.2008 в 15:41)
 

Если говрить о машине, то еще быстрее было бы сдивнуть число вправо на один разряд. Жаль только в РНР не устнавливает при этом флаг переноса, а значит не приемлимо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования