2010-07-10 6 views
1

J'essaie d'utiliser des expressions régulières pour rendre mon script de téléchargement d'inventaire un peu mieux.Expression régulière PHP Aide avec sinon

Je vends des vêtements et des accessoires. Dans mon fichier d'inventaire, j'ai un champ appelé ProductDepartment qui est une combinaison de genre/type d'élément. J'ai une table MySQL pour le genre avec les valeurs suivantes:

 
Mens = 1 
Womens = 2 
Unisex = 3 

Départements dans le regard du fichier téléchargé comme suit, par exemple.

 
Mens Outerwear 
Mens Watches 
Womens Jeans 
Headphones 

Donc, fondamentalement, Im essayant de faire un statment qui va, si $ ProductDept contient Mens, $ set gender_id = 1, si ProductDept $ contient des femmes, ensemble $ gender_id = 2, si $ ProductDept ne contient pas non plus, set $ gender_id = 3

Et je n'arrive pas à trouver comment écrire correctement la 3ème instruction if. Voici ce que j'ai.

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'; 
} 

Répondre

3

changement !=-!:

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

Vous pouvez également réécrire en utilisant elseif comme suit:

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

je ferai:

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