Php strrpos не обнаруживает строки, всегда 0 позиции - PullRequest
0 голосов
/ 05 января 2012

Привет, ребята, это действительно потрясающие вопросы.

У меня много опыта с strrpos, но это действительно бессмысленно. Первый массив:

arrCopy => {                
  ["Codice"]=>                
  string(33) "Per sport d è numerico"                
  ["Maniche"]=>                
  string(15) " maniche corte "                
  ...               
  ["Taglia"]=>                
  string(8) "tg tg XL"                
}

Я хочу изолировать поведение "Taglia" в цикле Foreach, но не могу его обнаружить!

foreach ($arrCopy as $key=>$spec){
         echo gettype($key); // prints string
         $tg= strpos(strtolower($key) , 'taglia'); // gives me 
//always 0 also with "Taglia" key
            if (  $tg !== false || ....
                 // never goes there

Где я не прав?

1 Ответ

2 голосов
/ 05 января 2012

Вы должны проверить возврат strpos () для FALSE, чтобы определить, содержится ли строка.

From http://php.net/manual/en/function.strpos.php:

Эта функция может возвращать логическое значение FALSE, нотакже может возвращать небулево значение, которое оценивается как FALSE, например 0 или "".Пожалуйста, прочитайте раздел о логических значениях для получения дополнительной информации.Используйте оператор === для проверки возвращаемого значения этой функции.

Возможно, лучше использовать strcmp - вы не столько пытаетесь найти подстроку, сколько для обеспечения соответствия.

...