- Восклицательный знак перед переменным – требуется разъяснение
- Что означает восклицательный знак в PHP?
- Что означает восклицательный знак в PHP? [Дубликат]
- 3 ответа
- Символ восклицательный знак php
- Пример двойного неравно в php:
- Результат работы оператора сравнение «двойного неравно» в php
- Тождественно неравно в php «!= тройное неравно» имеет сове отдельное название!
- Как называет тройное неравно в php?
- Но что такое «Тождественно неравно«
- Пример работы тройного неравно в php
- Результат работы тройного неравно в php:
- Чем отличаются «неравно» и «тождественно неравно«?
- Результат сравнения двух переменных на два тождественно неравно 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 ИСТИНА).
Что касается опубликованных примеров:
Пример 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, давайте применим данную функцию к первой переменной :
И также ко второй переменной :