Задать вопрос
@game802

В чем может быть проблема считывания файла mb_stripos'ом?

Добрый день уважаемые знатоки.
У меня есть функция, в которую передается название файла:
function getFileTypeBlock($read_subject) {
  if (mb_stripos(string $read_subject, 'новинки')) return 1;
  if (mb_stripos(string $read_subject, 'прайс')) return 2;
  if (mb_stripos(string $read_subject, 'книги')) return 6;
  if (mb_stripos(string $read_subject, 'игры')) return 3;
  if (mb_stripos(string $read_subject, 'канц')) return 4;
  if (mb_stripos(string $read_subject, 'учебники')) return 5;
  return 0;
}

Но не все названия правильно считываются, в чем может быть причина?
Я проверил вхождения названий файлов и там проблем не обнаружил...

af865569259940f297cada3621068aea.png
Буду благодарен за любую помощь в решении данного вопроса. Спасибо!
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@game802 Автор вопроса
проблема не с кодировкой, а с !== false
Было:
if (mb_stripos(string $read_subject, 'новинки')) return 1;

Стало:
if (mb_stripos(string $read_subject, 'новинки') !== false) return 1;

Алексей
mb_stripos как и stripos возвращает значение начиная с "нуля"

Спасибо всем за помощь!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
romy4
@romy4
Exception handler
> mb_stripos(string $read_subject, 'прайс')
кодировка вашего файла какая? кодировкая для mb_* какая? кодировка входящего файла какая?

и что значит mb_stripos(string $read_subject, 'прайс')
string перед $read_subject? php 7.1 например ругается на такую конструкцию
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Что значит "Но не все названия правильно считываются"?
Кодировка?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы