Вопрос, почему следующее выполнило эхо:
$str = "Hello World";
if (strpos($str, 'He') !== false) {
echo 'GOOD';
}
Но это не так:
$str = "Hello World";
if (strpos($str, 'He') === true) {
echo 'GOOD';
}
Разве эти два условия не эквивалентны в том смысле, что они оба проверяют, является ли возвращаемое значение логическим значением, для которого установлено значение true? Разве !== false не то же самое, что === true, а если нет, то почему?
Я ценю разъяснение.
strpos
является возврат не логического значения, а индекса в случае успеха. - person mario   schedule 03.01.2014