Символ восклицательный знак php

Восклицательный знак перед переменным – требуется разъяснение

Я уже давно работаю с PHP, но для меня это всегда было загадкой, правильное использование восклицательного знака (отрицательного знака) перед переменными.

Что такое !$var ? Является ли var false , пустым, не установленным и т. Д.?

Вот несколько примеров, которые мне нужно изучить …

$string = 'hello'; $hello = (!empty($string)) ? $string : ''; if (!$hello)

Этот пример действителен? Действительно ли бы оператор if работал, если $string была пуста?

$int = 5; $count = (!empty($int)) ? $int : 0; // Note the positive check here if ($count)

Будет ли этот пример действительным?

Я никогда не использую ни один из приведенных выше примеров, я ограничиваю их if ($var) переменными, которые имеют только логические значения. Мне просто нужно знать, являются ли эти примеры действительными, поэтому я могу расширить использование операторов if ($var) . Они выглядят очень чистыми.

if(! $a) совпадает с if($a == false) . Кроме того, следует учитывать, что преобразование типов происходит при использовании оператора == .
Для более подробной информации ознакомьтесь с разделом «Свободные сравнения с ==» здесь . Отсюда следует, что для строк «0» и «» равны FALSE ( «0»==false TRUE, а «»==false ИСТИНА).

Читайте также:  Python decorators with parameters

Что касается опубликованных примеров:
Пример 1
Он будет работать, но вы должны отметить, что и «0», и «» являются «пустыми» строками.

Пример 2.
Это будет работать

! сводит на нет. true становится ложным, и все, что оценивается как false, становится истинным.

Если вы пишете PHP, и вы не знаете всех операторов наизусть. Вам не следует писать одну строку кода, пока вы не узнаете их наизусть:

Это логический тестер. Пустой или ложный.

Это not логический оператор, см. Руководство по PHP для более подробной информации.

Источник

Что означает восклицательный знак в PHP?

! является логическим отрицанием или оператором NOT . Это меняет смысл логического теста.

  • if(isset) делает что-то, если isset логичен True .
  • if(!isset) делает что-то, если isset логичен False .

Подробнее о операторах (логических и других типах) в документации PHP. Посмотри ! там, чтобы цементировать свое понимание того, что он делает. Пока вы там, посмотрите другие логические операторы:

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

! символ является логическим оператором «не». Он инвертирует логическое значение выражения.

Если у вас есть выражение, которое имеет значение TRUE , префикс его ! заставляет его оценивать FALSE и наоборот.

$test = 'value'; var_dump(isset($test)); // TRUE var_dump(!isset($test)); // FALSE 

isset() возвращает TRUE если заданная переменная определена в текущей области с ненулевым значением.

empty() возвращает TRUE если заданная переменная не определена в текущей области, или если она определена со значением, которое считается «пустым». Эти значения:

NULL // NULL value 0 // Integer/float zero '' // Empty string '0' // String '0' FALSE // Boolean FALSE array() // empty array 

В зависимости от версии PHP объект, не имеющий свойств, также может считаться пустым.

Результатом этого является то, что isset() и empty() почти дополняют друг друга (они возвращают противоположные результаты), но не совсем, поскольку empty() выполняет дополнительную проверку значения переменной, isset() просто проверяет, определено.

Рассмотрим следующий пример:

var_dump(isset($test)); // FALSE var_dump(empty($test)); // TRUE $test = ''; var_dump(isset($test)); // TRUE var_dump(empty($test)); // TRUE $test = 'value'; var_dump(isset($test)); // TRUE var_dump(empty($test)); // FALSE 
$var = 0; // Evaluates to true because $var is empty if (empty($var)) < echo '$var is either 0, empty, or not set at all'; >// Evaluates as true because $var is set if (isset($var))

вот тестовый пример для вас:

$p = false; echo isset($p) ? '$p is setted : ' : '$p is not setted : '; echo empty($p) ? '$p is empty' : '$p is not empty'; echo ""; 

Источник

Что означает восклицательный знак в PHP? [Дубликат]

Предложение: Прочтите документацию по пустому и Исети , чтобы получить чувство для того, как они работают, различие и т.д.

@jprofitt: на самом деле оператор логического отрицания отсутствует в этом списке. Вы можете добавить этот вопрос в качестве ссылки на ! ,

3 ответа

! — это оператор логического отрицания или NOT . Это меняет смысл логического теста.

  • if(isset) делает что-то, если isset является логическим True .
  • if(!isset) делает что-то, если isset является логическим False .

Подробнее о операторах (логических и других типах) в документации PHP. Посмотрите ! , чтобы закрепить свое понимание того, что он делает. Пока вы там, посмотрите другие логические операторы:

которые также обычно используются в логических операторах.

Символ ! является логическим оператором «not». Он инвертирует логическое значение выражения.

Если у вас есть выражение, которое оценивается как TRUE , префикс его с ! заставляет его оценивать значение FALSE и наоборот.

$test = 'value'; var_dump(isset($test)); // TRUE var_dump(!isset($test)); // FALSE 

isset() возвращает TRUE , если заданная переменная определена в текущей области с ненулевым значением.

empty() возвращает TRUE , если данная переменная не определена в текущей области или если она определена со значением, которое считается «пустым». Эти значения:

NULL // NULL value 0 // Integer/float zero '' // Empty string '0' // String '0' FALSE // Boolean FALSE array() // empty array 

В зависимости от версии PHP объект без свойств также может считаться пустым.

В результате этого isset() и empty() почти дополняют друг друга (они возвращают противоположные результаты), но не совсем, поскольку empty() выполняет дополнительную проверку значения переменной isset() просто проверяет, определено ли это.

Рассмотрим следующий пример:

var_dump(isset($test)); // FALSE var_dump(empty($test)); // TRUE $test = ''; var_dump(isset($test)); // TRUE var_dump(empty($test)); // TRUE $test = 'value'; var_dump(isset($test)); // TRUE var_dump(empty($test)); // FALSE 

Источник

Символ восклицательный знак php

В простом условии, когда требуется проверить что-то с чем-то, то скорее всего там будет «двойное неравно»

Давайте придумаем простой пример, чтобы мы смогли в живую увидеть действие этого оператора!

Пример двойного неравно в php:

Для того, чтобы увидеть действие данного оператора «неравно» нам понадобится :

В условии напишем, если порядковый номер цикла «$i» неравен числу «три», то выведем соответствующую информацию. И подсветим красным.

Иначе «else», переменная «$i» не равна трем

Результат работы оператора сравнение «двойного неравно» в php

Цикл под номером 0 неравен числу три
Цикл под номером 1 неравен числу три
Цикл под номером 2 неравен числу три
Число 3 равно трем
Цикл под номером 4 неравен числу три
Цикл под номером 5 неравен числу три
Цикл под номером 6 неравен числу три
Цикл под номером 7 неравен числу три
Цикл под номером 8 неравен числу три
Цикл под номером 9 неравен числу три

Тождественно неравно в php «!= тройное неравно» имеет сове отдельное название!

Как называет тройное неравно в php?

Но что такое «Тождественно неравно«

Данный оператор сравнения используется намного реже, чем предыдущий!

Пример работы тройного неравно в php

Давайте повторим то, что мы проделывали в предыдущем пункте, только вместо двойного неравно применим тройное неравно и посмотрим результат:

Результат работы тройного неравно в php:

Цикл под номером 0 неравен числу три
Цикл под номером 1 неравен числу три
Цикл под номером 2 неравен числу три
Число 3 равно трем
Цикл под номером 4 неравен числу три
Цикл под номером 5 неравен числу три
Цикл под номером 6 неравен числу три
Цикл под номером 7 неравен числу три
Цикл под номером 8 неравен числу три
Цикл под номером 9 неравен числу три

Как видим, что и в первом и втором случае, сработало неравно и тождественно неравно!

В чем же разница между «неравно» и «тождественно неравно«?

Я вам покажу на простом примере, как и чем отличается между собой эти два варианта сравнение!

Чем отличаются «неравно» и «тождественно неравно«?

Если вы хотите разобраться, в разнице между «неравно» и «тождественно неравно«, то я вам помогу!

Но для этого придется включить терпение, а лучше много терпения и прочитать данный пункт с максимальной внимательностью!

Потому! Что когда с этим сталкиваешься впервые, то это кажется полным бредом!
Но это не так!

По одной простой причине! Я внутри, а вы снаружи!

Для того, чтобы разобраться нам потребуется много переменных, начнем с двух:

Вы можете сказать, что эти две переменные неравны или тождественно неравны . И действительно неравны ! Но только по типу, но не по значению, что собственного и называется «тождественно неравны «!
Что дальше!?

мы напишем пару условий, когда сам «php» нам ответит на вопрос как равны переменные.

Если тождественно неравны (if($example !== $example_2)), то внутри данного условия нам потребуется еще одно условие, проверить, а как они неравны, если они неравны и по значению — значит выводим, что они равны.:

if($example != $example_2)
<
echo ‘ Две переменные неравны, ни по значению, ни по типу
‘;
>
else
echo ‘Две переменные равны только по значению
‘;
>

echo ‘ Две переменные неравны, ни по значению, ни по типу
‘;

echo ‘Две переменные равны только по значению
‘;

echo ‘Две переменные равны по значению и по типу
>’;

Теперь применим данный код к нашим переменным;

Результат сравнения двух переменных на два тождественно неравно php

Давайте сравним нашу первую переменную и новую с номером 3, пропустим через данный код:

В последнем сравнении, возьмем четвертую переменную и присвоим ей то же значение, что и первой переменной и проверим на «два и тождественно неравно»

Надеюсь, что выше все понятно, кроме того момента, почему две переменные

Две переменные равны только по значению

Чтобы узнать информацию о переменной, нам понадобится var_dump, давайте применим данную функцию к первой переменной :

И также ко второй переменной :

Источник

Оцените статью