Логический оператор отрицания.
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; */