Задать вопрос
@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 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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
Добрый день.
Что значит "Но не все названия правильно считываются"?
Кодировка?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽