Forum Webscript.Ru
Программирование => PHP => Тема начата: Radiobugger от 03 Марта 2005, 13:41:56
-
Кто знает какая разница в количестве знаков равно в условиях if или её вообще нет?
Вот например какая разница между этим:
if ($a=$b) этим if ($a==$b) и вот этим if ($a===$b)
я стал сомневаться в этом после прочтения этой маленькой статьи http://www.securitylab.ru/52986.html
-
$a == $b, Equal, TRUE if $a is equal to $b.
$a === $b, Identical, TRUE if $a is equal to $b, and they are of the same type.
-
if ($a=$b) - переменной $a присваивается значение переменной $b.
В зависимости от значения $b возвращает true/false
http://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
$a == $b, - здесь сначало приводятся типы, а потом сравниваются значения.
Поэтому if (0 == \'a\') равно true;
$a === $b - сначало сравниваются типы данных, если они равны. сравниваются их значения (более строгая проверка)