PHP - 如何在字符串中查找特定数字?

时间:2015-07-22 14:11:19

标签: php pattern-matching

我经营一家运动鞋联盟网站,我试图通过关键字将导入的产品名称与现有的运动鞋模型相匹配。有了很多格式,我有时会使用一个数字,数字不能与我使用的代码相匹配。我尝试了所有不同的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;

     }

 }

正如您所看到的,我正在检查每个关键字的产品名称,并在找到时返回模型名称。适用于包含字母或字母和数字的每个字符串,但不仅仅是数组中的第一个项目。

有关如何正确执行此操作的任何想法?

1 个答案:

答案 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;
}