Задать вопрос
@Ressive

Что означает знак восклицания «!» в php?

Что означает ! в php?
Как прочитать данное условие?
if (!is_dir($cache_folder)) 
    {
        mkdir($cache_folder); 
    }
  • Вопрос задан
  • 1582 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
InGhost
@InGhost
programmer
Логический оператор отрицания.
PHP: Логические операторы
if (!is_dir($cache_folder)) { // если $cache_folder НЕ директория, то....
        mkdir($cache_folder);  // создаем ее
}


Удобно использовать не только в условиях, но и для инверсии булева значения.
Например:
$b = false;
$a = !$b; // $a будет равно true;


Порой это удобно применять с точки зрения элементарной читаемости кода и комфорта его дальнейшего написания:
$a = null;
$value_exists = is_null($a); 
/* в данном случае переменная $value_exists примет значение true. 
Но это не совсем логично, и переменная должна была бы звучать как $value_not_exists */

$value_exists = !is_null($a); 
/* здесь переменная примет значение, адекватное ее именованию; 
is_null возвращает true, но логическое NOT true даст, соответственно, значение false; */
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы