Я управляю партнерским сайтом кроссовок и пытаюсь сопоставить импортированные названия продуктов с существующими моделями кроссовок по ключевому слову. Из-за множества форматов мне иногда приходится использовать число, а числа не совпадают с кодом, который я использую. Я перепробовал все разные php str-функции, но ни одна из них не похожа ни на числа, ни на строки.
$models = array(
'106' => 'Vans 106 Vulcanized',
'alomar' => 'Vans Alomar',
'atwood' => 'Vans Atwood',
'authentic' => 'Vans Authentic',
// List goes on...
);
foreach ( $models as $model_keyword => $model_name ) {
if ( stristr( $product_name, $model_keyword ) !== false ) {
return $model_name;
}
}
Как видите, я проверяю название продукта для каждого из ключевых слов и, когда оно найдено, возвращает название модели. Работает для каждой строки, которая содержит буквы или буквы и цифры, а не только цифры, как первый элемент в моем массиве.
Любые идеи о том, как сделать это правильно?
использование strpos
вместо.
<?php
$models = array(
'106' => 'Vans 106 Vulcanized',
'alomar' => 'Vans Alomar',
'atwood' => 'Vans Atwood',
'authentic' => 'Vans Authentic'
// List goes on...
);
foreach ($models as $key => $name) {
if (strpos($name, (string)$key) !== false)
return $name;
}
Других решений пока нет …