PHP сравнить сомнения - PullRequest
       8

PHP сравнить сомнения

1 голос
/ 03 июня 2010
if(0 == ('Pictures'))
{
  echo 'true';
}

почему это дает мне "истину"?

Ответы [ 3 ]

3 голосов
/ 03 июня 2010

Ваша строка будет оцениваться как целое число, поэтому становится 0, используйте это: 0 === 'Pictures', который проверяет идентичность (то же значение и тот же тип)

2 голосов
/ 03 июня 2010

Проверьте Таблицы сравнения типов PHP , чтобы понять, как операторы сравнения ведут себя в PHP.

В вашем случае «Картинки» становятся «0» и, следовательно, 0 = 0.

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

echo (int)'Pictures'; // 0 => 'Picture' as int
echo 0 == 'Pictures'; // 1 => true, 0 = 0
0 голосов
/ 03 июня 2010

Использование:

if (0 === 'Pictures')
{
  echo 'true';
}

=== - оператор строгого типа, он проверяет не только значение, но и тип.

Быстрый тест:

if(0 == 'Pictures')
{
  echo 'true';
}
else
{
  echo 'false';
}

вывод true, но:

if(0 === 'Pictures')
{
  echo 'true';
}
else
{
  echo 'false';
}

выходы false

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