正则表达式PHP帮助,如果不等于

时间:2010-07-10 20:27:15

标签: php regex preg-match

我正在尝试使用正则表达式来使我的库存上传脚本更好一点。

我卖衣服和配饰。在我的库存文件中,我有一个名为ProductDepartment的字段,它是性别/项目类型的组合。我有一个性别的MySQL表,其中包含以下值:

Mens = 1
Womens = 2
Unisex = 3

上传文件中的部门如下所示。

Mens Outerwear
Mens Watches
Womens Jeans
Headphones

所以基本上我试图做出一个判断,如果$ ProductDept包含Mens,设置$ gender_id = 1,如果$ ProductDept包含Womens,设置$ gender_id = 2,如果$ ProductDept不包含,请设置$ gender_id = 3

我无法弄清楚如何正确编写第3条if语句。这就是我所拥有的。

if(preg_match('/Mens/g', $ProductDept)) {
    $gender_id = '1';
}

if(preg_match('/Womens/g', $ProductDept)) {
    $gender_id = '2';
}

if( != preg_match('/Mens|Womens/g', $ProductDept)) {
    $gender_id = '3';
}

2 个答案:

答案 0 :(得分:3)

!=更改为!

if (!preg_match('/Mens|Womens/g', $ProductDept)) { ... } 

你也可以使用elseif重写它,如下所示:

if (preg_match('/Womens/g', $ProductDept)) {
    $gender_id = '2';
} elseif (preg_match('/Mens/g', $ProductDept)) {
    $gender_id = '1';
} else {
    $gender_id = '3';
}

答案 1 :(得分:1)

我会这样做:

if(preg_match('/Womens/', $ProductDept)) {
  $gender_id = '2';
} elseif(preg_match('/Mens/', $ProductDept)) {
  $gender_id = '1';
} else {
  $gender_id = '3';
}