Вопрос про strpos

vlad_v

Гуру форума
Регистрация
30 Июн 2006
Сообщения
446
Реакции
75
Почему это отдает FALSE?
PHP:
$a = "readnewstoday";
if(strpos($a,"read",0)){ 
    echo "TRUE";
}
else{
    echo "FALSE";
}

я уже выяснил опытным путем:
что бы найти слово "read" в начале строки "readnewstoday"
надо добавить пробел в начало этой строки.
то есть, вот так заработает:
PHP:
$a = " readnewstoday";
if(strpos($a,"read",0)){ 
    echo "TRUE";
}
else{
    echo "FALSE";
}

но как на меня это хак, помоему так не должно быть.

Вопрос:
можно ли обойтись без добавления пробела в начало строки , как заставить работать первый пример?

Спасибо!
 
strpos возвращает 0 как первую позицию, а if понимает это как булевое значение false, надо уточнить что не только значение но ещё и типы должны быть одинаковые и поставит ===
PHP:
$a = "readnewstoday";
if(strpos($a,"read", 0) === false){ 
    echo "FALSE";
}
else{
    echo "TRUE";
}
 
Назад
Сверху