Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/103: Рейтинг темы: голосов - 103, средняя оценка - 4.50
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
1

Восклицательный знак в условии if

29.01.2012, 17:27. Просмотров 20135. Ответов 5
Метки нет (Все метки)

Привет. Что означает восклицательный знак в условии if?
Например так:
PHP
1
if (!func())
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2012, 17:27
Ответы с готовыми решениями:

Восклицательный знак!
Подскажите пожалуйста, как вывести изображение треугольника с восклицательным знаком в сообщении...

Восклицательный знак
Подскажите пожалуйста как поставить на форму восклицательный знак в желтом треугольнике 'Внимание'...

Восклицательный знак в Swift
Всем привет! Начал опыты со Swift, и тут же столкнулся с модификаторами ? и ! (назову их так)...

Заменить восклицательный знак
Помогите решить задачу. Нужно в набранной строке заменить ! на ? using namespace System

5
25 / 25 / 3
Регистрация: 26.01.2012
Сообщений: 54
29.01.2012, 17:36 2
Если без восклицательного знака, то в том случае, если функция func() вернёт true, тело условия будет выполнено. В противном случае - наоборот, не выполнится.

В случае, если перед функцией стоит "!", всё наоборот - тело условия выполнится, если функция вернёт false.

Логическое отрицание.
3
25 / 25 / 3
Регистрация: 26.01.2012
Сообщений: 54
30.01.2012, 00:11 3
QFT, вы прям синонимайзер. Замечательная возможность форума. (сарказм)
1
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 41
13.04.2019, 20:12 4
Добрый вечер.
Помогите, пожалуйста. Изучаю рекурсию. Встретил в сети такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function factory($n) 
{ 
   if(!$n) 
   { 
      return("Факториал числа $n не существует."); 
   } 
   else 
   { 
      if($n <= 1){return 1;} 
      return $n * factory($n-1); // здесь происходит повторный вызов функции 
   } 
 
} 
 
echo factory(5);  // 120 
?>
В этой строчке:
PHP
1
 if(!$n)
Знак "!" - это логическое отрицание? Если да, то в контексте этого кода, какой смысл несет этот знак? Если "!$n" - это "не $n", а "не $n" это что? Допускаю, что это нуль. Не проще ли в коде было указать:
PHP
1
if($n == 0)
0
Эксперт PHP
3499 / 2941 / 1237
Регистрация: 01.08.2012
Сообщений: 10,133
13.04.2019, 23:38 5
Цитата Сообщение от xat55 Посмотреть сообщение
Знак "!" - это логическое отрицание?
Да.

Цитата Сообщение от xat55 Посмотреть сообщение
какой смысл несет этот знак?
Берётся значение, лежащее в $n. Превращается в булев тип (true/false). Затем ! изменяет это значение на противоположное.

Т.е. условие if(!$n) означает, что условие выполнится, когда в $n будет значение, приводимое к false (для PHP это null, 0, false, пустая строка, пустой массив, строка "0").

Цитата Сообщение от xat55 Посмотреть сообщение
Не проще ли в коде было указать:
1 символ или 4 - что проще?
1
Эксперт PHP
4125 / 3375 / 1445
Регистрация: 24.04.2014
Сообщений: 10,115
14.04.2019, 00:15 6
Цитата Сообщение от xat55 Посмотреть сообщение
Не проще ли в коде было указать: if($n == 0)
Было бы лучше, т.к явно указывается что конкретно проверяется, не полагаясь на неявные преобразования int к bool (хотя оно все равно будет при таком сравнении, чтобы вообще хорошо было можно использовать строгое сравнение ===)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2019, 00:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Красный восклицательный знак
что означает красный восклицательный знак на иконке документа word?

Восклицательный знак видео драйвера
видеокарта geforce 8500 gt

Как интерпретировать восклицательный знак?
Два маленьких вопроса по поводу логики циклов и функций. Прошу прощения за ламерские вопросы, но...

Восклицательный знак возле видеокарты.
Когда захожу в игру слетают дрова с видеокарты, появляется восклицательный значёк на видеокарте в...

Восклицательный знак рядом с иконкой
Всем привет форумучане. Вчера неожиданно отключился интернет и около значка интернета(в трее)...

Восклицательный знак на MIDI-контроллере
Всем привет, в общем ситуация такая, есть миди контроллер KORG nanoKontrol 2, я переустановил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.