Почему этот код с использованием stripos () не работает? - PullRequest
0 голосов
/ 03 мая 2011

stripos () не работает должным образом, вот мой код:

$regex_blitz = array("#bols", "#Blitz", "#Blitz Ipva", "#detran", "#ipva", "biltz");
foreach($regex_blitz as $blitz)
{
    echo $blitz;
    echo "</br>";
    echo $string;
    echo "</br>";
    if(stripos($string, $blitz))
    {
        echo 'aqui';
        }
                else
        {
                echo 'oi';echo "</br>";
    }
}

вот вывод:

#bols
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#Blitz
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#Blitz Ipva
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#detran
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
#ipva
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi
biltz
#Blitz av das americas sentido recreio, pista lateral. Em frente ao Ribalta!
oi

Вы можете заметить, что когда $ blitz равен '#Blitz', он должен был пропустить 'if', помогите мне!

только что заметил, что если я переместил "#blitz" вперед в строке, это сработало, но я не смогу этого сделать, так как оно выполняет автоматический поиск, это ошибка?

Ответы [ 2 ]

5 голосов
/ 03 мая 2011

Проблема в том, что stripos возвращает 0, если совпадение находится в начале строки. Вы должны проверить это, используя !== false. http://php.net/manual/en/function.stripos.php

$regex_blitz = array("#bols", "#Blitz", "#Blitz Ipva", "#detran", "#ipva", "biltz");
foreach($regex_blitz as $blitz)
{
    echo $blitz;
    echo "</br>";
    echo $string;
    echo "</br>";
    if(stripos($string, $blitz) !== false)
    {
        echo 'aqui';
        }
                else
        {
                echo 'oi';echo "</br>";
    }
}
2 голосов
/ 03 мая 2011

Кто-то наблюдал за большим предупреждающим знаком:

    Warning
This function may return Boolean FALSE, but may also return a non-Boolean value
which evaluates to FALSE, such as 0 or "".

http://php.net/stripos

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