我经营一家运动鞋联盟网站,我试图通过关键字将导入的产品名称与现有的运动鞋模型相匹配。有了很多格式,我有时会使用一个数字,数字不能与我使用的代码相匹配。我尝试了所有不同的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;
}
}
正如您所看到的,我正在检查每个关键字的产品名称,并在找到时返回模型名称。适用于包含字母或字母和数字的每个字符串,但不仅仅是数组中的第一个项目。
有关如何正确执行此操作的任何想法?
答案 0 :(得分:4)
请改用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;
}