За последние 24 часа нас посетили 36599 программистов и 1722 робота. Сейчас ищут 795 программистов ...

что означает логический оператор !! ?

Тема в разделе "PHP для новичков", создана пользователем riaron, 6 апр 2015.

  1. riaron

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

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    что означает логический оператор !! ?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    нет такого оператора "два восклицательных знака". есть "пайп" - | - "бинарное или" и "двойной пайп" || - "логическое или".
    1 | 4 = 5 потому что 001 | 100 = 101, 2 | 7 = 7 потому что 010 | 111 = 111.
    1 || 2 = истина потому что и 1 и 2 логически истинны. 0 || 1 = истина потому что "либо ноль либо единица" ноль логически ложен но единица логически истинна поэтому результатом будет истина.

    примерно понятно?
     
  3. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Такой оператор есть в javascript в php нет такого, есть только " ! ".
    Код (PHP):
    1. !!"string" = true
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ! - логическое НЕ.
    !! - отрицание отрицания, дает исходное значение. с той лишь разницей, что значение интерпретируется как логическое (булево).
    то есть !!$a это просто способ принудительного преобразования типа к булевому. то же самое, что (bool)$a

    P.S. site:stackoverflow.com double negation
     
  5. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    +1
    хоть один адекватный комментарий
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мда уж... как по мне так очевиднее явные функции каста типа использовать