Riv3ro
Новичок
Добрый день
Есть данные
, так как они вводились операторами как попало, то получилась проблема с полем Товар он описан как только можно, и структурировать его как либо очень тяжело, а с этой колонки товар надо вытаскивать всяческие параметры название, старана-изготовитель, цвет, и т.д.
помогите структурировать данные.
Не могу сообразить как лучше это реализовать, опыт в php не очень большой. Так что за реализацию камнями прошу не закидывать.
и это только для первого элемента массива, их может быть вроде максимум 10. Для каждого так писать не целесообразно. помогите придумать функцию или цикл.
Как мне кажется надо будет прогонять после этой сортировки, еще по одному виду справочника, из-за того что есть вот такие описания "муж.туф","т.муж","подр.мальч" - которые вместе с точкой. Их разбивать опять експлойтом только по "." и пропускать еще раз через справочники $man $woman и тд.
Есть данные

помогите структурировать данные.
Не могу сообразить как лучше это реализовать, опыт в php не очень большой. Так что за реализацию камнями прошу не закидывать.
PHP:
///////////// справочники //////////////////
$man = array ("Мужская","Мужск","мужская","м","М");
$woman = array ("Ж","ж","женские","Женские","жен","Жен","жен.","Женский","женский");
$teenager = array ("подр.","ПОДРОСТОК","Подросток","Подростковая");
$color = array ("Черный","черный","черн/сер","черн","чер/бел","чер","цветн.","Синий","Серый","пестрый","оранж","беж","Корич","Джинс","джинс","голубой","Бел.","крас/рыжие","Бордо","сер/бронз","фуксия","Фиолетовый","розовый","Малиновый","крас.","Коричневый","жолтый","голуой","рыжие","Белый","Бел/син","Бежевый","ч","кр","крас","сирень","сер/бел","чер/бел","розов","серебро","беж/чер","ч/сер","зеленый","б","роз","перс");
$material = array ("кожа","велюр","Кожа","Замш","Текст","Лак","джинс","Текс.","Текстить","Текстиль","кожа/замш","лак-замш","нубук","и/кожа","кожа/замш");
////////////////////////////////////////////
$items = "Обувь Мужская Корич нубук 886п Бровары ТМ'ESTE' 41(р) ";
$a = explode(" ", $items);
if ($a[0] == "Обувь")// Сравниваем Тип с Обувью, если это не обувь то в Else просто заносив в другую таблицу.
{
if(isset ($a[1])) // Проверяем если существует, "второе" слово то сравниваем с справочником pol
{
if ($res = preg_match ("/(Мужская)|(Мужск)|(мужская)|(м)|(М)/", $a[1]))// Проверка на совпадение со справочником $man
{
echo "Совпадает ";
$pol = "Мужская";
echo $pol;
}
elseif($res = preg_match ("/(Ж)|(ж)|(женские)|(жен)|(Жен)|(жен.)|(Женский)|(женский)/", $a[1]))// Проверка на совпадение со справочником $woman
{
echo "Совпадает ";
$pol = "Женская";
echo $pol;
}
elseif($res = preg_match ("/(подр.)|(ПОДРОСТОК)|(Подросток)|(Подростковая)/", $a[1]))// Проверка на совпадение со справочником $teenager
{
echo "Совпадает ";
$pol = "Подростковая";
echo $pol;
}
//// и тд, так же дальше сравнение по цвету, материалу, городу, поставщику и тд. Опять же есть еще размер к нему справочник не придумал еще
else
{
echo "По фильтрам совпадения не найдено, значит это артикул <br />";// Артикул по фильтрам не сравнивал так как там все что угодна, и нету смысла.
$art = $a[1];
echo $art;
}
и это только для первого элемента массива, их может быть вроде максимум 10. Для каждого так писать не целесообразно. помогите придумать функцию или цикл.
Как мне кажется надо будет прогонять после этой сортировки, еще по одному виду справочника, из-за того что есть вот такие описания "муж.туф","т.муж","подр.мальч" - которые вместе с точкой. Их разбивать опять експлойтом только по "." и пропускать еще раз через справочники $man $woman и тд.