За последние 24 часа нас посетили 16875 программистов и 1641 робот. Сейчас ищут 974 программиста ...

strpos - всегда как false

Тема в разделе "PHP для новичков", создана пользователем boo, 5 июн 2010.

  1. boo

    boo Активный пользователь

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    Не могу отсоединить кусок из линка:
    Код (Text):
    1.  
    2.         if (strpos ( 'http://', $member ['web'] )) {
    3.             $weblink = 'http://' . $member ['web'];
    4.         } else {
    5.             $weblink = $member ['web'];
    6.         }
    всегда срабатывает - false

    есть куча других вариантов, но хочу понять почему тут функция не отвечает...
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    PHP:
    1. <?php
    2. $member['web'] = 'http://site.com';
    3. if (strpos($member['web'], 'http://') !== false)
    4. {
    5.     echo 1;
    6. }
    7. else
    8. {
    9.     echo 2;
    10. }
     
  3. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    boo, она не false, а 0, то есть искомая подстрока встречается в начале строки. false возвращается только тогда, когда подстрока не была найдена.

    В дальнейшем, чтобы не было проблем смотрите через var_dump(). Функция возвращает значение и тип.
    PHP:
    1. <?
    2. var_dump(strpos('http://', $member ['web'])); // int 0
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768