@Ressive

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

Что означает ! в php?
Как прочитать данное условие?
if (!is_dir($cache_folder)) 
    {
        mkdir($cache_folder); 
    }
  • Вопрос задан
  • 1463 просмотра
Пригласить эксперта
Ответы на вопрос 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; */
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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