За последние 24 часа нас посетили 30199 программистов и 1816 роботов. Сейчас ищут 768 программистов ...

Код: Красота или изврат

Тема в разделе "Прочие вопросы по PHP", создана пользователем vb, 22 сен 2006.

  1. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    пока писал придумалось новое решение
    PHP:
    1.  
    2. <?php
    3. $a = 1;
    4.  
    5. echo abs($a - 1);
    6.  
    7. $a = 0;
    8.  
    9. echo abs($a - 1);
    10. ?>
    11.  
    :)
     
  2. Mavir

    Mavir Guest

    Проще всего так

    PHP:
    1. <?
    2. $a = 1 - $a;
    3. ?>
    4.  
    :)
     
  3. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    Mavir, респект ;)
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    vb

    PHP:
    1.  
    2. <?
    3.  
    4. function invert($a) {
    5.  
    6.     return (int)($a xor 1);
    7.  
    8. }
    9.  
    10. $a = 0;
    11. print "\n$a -> ".invert($a)."";
    12.  
    13. $a = 1;
    14. print "\n$a -> ".invert($a)."";
    15.  
    16. print "\n";
    17. ?>
    18.  
    Код (Text):
    1.  
    2. 0 -> 1
    3. 1 -> 0
     
  5. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    440hz, курит траву... :))))))
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    завидуй молча ...
     
  7. TiGR

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

    С нами с:
    3 сен 2006
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Ижевск
    Сокращаем количество символов... ;)
    PHP:
    1. <?php
    2. $a^=1;
    3. ?>
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    не катит

    0 -> 0
    1 -> 0

    p.s. операция XOR быстрее всех арифметических вместе взятых, кстати ...
     
  9. TiGR

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

    С нами с:
    3 сен 2006
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Ижевск
    Разве?
    PHP:
    1. <?php
    2. $a =1;
    3. echo $a^=1;
    4. echo $a^=1;
    5. ?>
    Результат: 01
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    катит. ступил ...
     
  11. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    Продолжу тему на новую тему:

    код - мое
    PHP:
    1.  
    2. <?
    3. $a = str_replace (',', '.', $a);
    4. ?>
    5.  
    Суть - преобразование дробного числа записаного с разделителем запятой, в дробное с разделителем точки.

    Как сделать красивее есть идеи?

    Поясняю:
    Пусть в системе разделитель дробных чисел - . (точка)
    1.5 * 2 = 3
    1,5 * 2 = 2

    $a = 1.5;
    $a = a($a); // == 1.5
    $a * 2 = 3;

    $a = 1,5;
    $a = a($a); // == 1.5
    $a * 2 = 3;

    где a() некая последовательность действий функция, в приведенном выше примере это str_replace.

    Надеюсь вопрос ясен. Плз. предложения по красоте? :)
     
  12. Davil

    Davil Guest

    PHP:
    1.  
    2. <?php
    3. $a = ",";
    4. $b = ".";
    5. $r = str_replace($a,$b,$r);
    6. ?>
    7.  
    :)
     
  13. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    Davil
    то же самое не катит
     
  14. Anonymous

    Anonymous Guest

    set_locale() =))
    катит?
     
  15. vb

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

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    Горбунов Олег
    нет, предполагается что цифра получается за пределами скрипта. то есть вводит пользователь или что то парсится или еще откуда нить....
    Например пользователь не обязан знать вводить 1.5 через точку или через запятую.
     
  16. Anonymous

    Anonymous Guest

    vb, тогда предложенный способ, имхо, самый быстрый.