Алгоритм соотношения картинок с артикулами
Вопрос касательно алгоритмизации. Пишу интернет-магазин. Есть база картинок, названия которых связаны с артикулами следующим образом: артикул_параметр.jpg
Например:
- ЭП-300-1500C_v1.jpg
- ЭП-300-1500C_v2.jpg
- ЭП-300-1500C_v3.jpg
- ЭП-300-1500C_v4.jpg
И т.д.
Написал алгоритм, который:
- Берёт из базы артикул;
- Ищет соответствия с артикулом в базе картинок с помощью
strpos(); - Собирает всё в массив;
- Обновляет запись в базе.
Проблема в том, что когда в названиях артикулов есть одинаковые символы, он приписывает картинку туда, куда не нужно. Например как с артикулами
ЭП-300-1500C_v1 и 300-1500C.
Как избежать этого?
Ответы (1 шт):
Автор решения: Gvido
→ Ссылка
Решил проблему следующим образом:
if(substr($file, 0, strlen($article))==$article){
$filePath = 'products\jpg\\'.$file;
$newArr[] = $filePath;
}
То есть, отрезал от названия картинки количество символов так, чтобы по длине они совпадали с артикулом. Потом сравнил получившуюся строку с самим артикулом. Если true, значит картинка добавляется в массив. Иначе, пропускается.