Тема: WTF?????????
Показать сообщение отдельно
  #2 (permalink)  
Старый 12.01.2014, 10:55
Интересующийся
Отправить личное сообщение для maxmaster Посмотреть профиль Найти все сообщения от maxmaster
 
Регистрация: 25.02.2012
Сообщений: 10

Что вас удивило?
Знак "==" обозначает неявное сравнение, а это значит что типы элементов слева и справа должны быть неявно преобразованы. [10] - это элемент массива, он не может быть преобразован в число или строку и преобразуется в true. Правая часть тоже должна быть преобразована в булев тип, поскольку сравнивать можно только одинаковые типы. Известно что 0 или "" - это false, все остальные значения, отличные от нуля, отрицательных чисел или пустой строки - это true. Итог true == true? Ну конечно true!
Ответить с цитированием