2015-08-29 3 views
1

У меня есть цикл php while (создание сценария поиска), и я ищу, чтобы соответствовать значениям, чтобы увидеть, какие элементы должны попадать в результаты поиска. StrPos, кажется, не работает нормально, пока вдруг, когда он отказывается правильно работать на этом конкретном месте ...Я правильно использую strpos? Не получать результаты

if (strpos('a', 'a')) { 
continue; 
} 

Не следует, что не доходят продолжать? «a» действительно содержит «a», но в моем сценарии он достигает продолжения.

+0

Не могли бы вы показать окружающий код, как это делает, как его намеревался, и оленья кожа запустить «продолжить» .. так что мы должны видеть окружающие. – Darren

+0

Он возвращает [позиция] (http://stackoverflow.com/a/4192039/3110638), которая является '0' =' false'. Просто используйте 'if (strpos ('a', 'a')! == false)' –

+0

решает ли ваша проблема? Если ответ поможет вам рассмотреть его, как принято, если вы не знаете, как читать это http://stackoverflow.com/tour –

ответ

1

Все в порядке, просто попробуйте это коды:

<?php 

$value = strpos('qa', 'a'); 
var_dump($value); 

if($value) { 
echo "inside\n<br>"; 
} 

Выход:

INT (1)

внутри

<?php 
$value = strpos('aq', 'a'); 
var_dump($value); 

if($value) { 
echo "inside\n<br>"; 
} 

Выход:

INT (0)

Во втором коде $value это оценить, как false (boolean) в приведения типов, потому что позиция a является 0 и при оценке 0 внутри if() значение литья до false ,

Вы должны использовать этот код:

if(strpos('a', 'a') === 0) { 
echo "inside\n<br>"; 
} 

Выход:

внутри

Вы можете прочитать по адресу:

http://php.net/strpos

http://php.net/manual/en/language.operators.comparison.php

 Смежные вопросы

  • Нет связанных вопросов^_^