2017-07-18 1 views
0

Voici ma fonction:stripes(); la recherche en 2 variables

function search_title_and_vendor{ 
    if (stripos($title, 'Tsugi') !== false) { 
     if (stripos($vendor, 'Puma') !== false) { 
      return 'Puma Tsugi'; 
     } else { 
      return ''; 
     } 
    } 
} 

Lorsque les variables sont:

$title = 'Puma Tsugi' 
$vendor = 'Puma' 

Comme vous pouvez le voir, j'essayé nicher l'instruction if pour rechercher deux variables, si elles correspondent , retourne 'Puma Tsugi'. Cependant, cela ne retourne rien. Dans mon dossier, j'ai également des occurrences avec, par exemple, Vans Tsugi, où $vendor = 'Vans'; et $title = 'Vans Tsugi sneakers'.

Comment puis-je rechercher une combinaison comme celle-ci et renvoyer une valeur donnée?

+0

les déclarer mondiale au début de votre fonction –

+0

@MilanMarkovic globale est jamais une bonne réponse; bien mieux de passer les valeurs comme arguments à la fonction –

+0

Oui, mais il fait référence à la source réelle du problème. Les arguments devraient être utilisés mais c'est une autre leçon pour lui :) –

Répondre

0

Vous devez passer vos informations dans la fonction à l'aide des paramètres - comme ceci:

$search_result = search_title_and_vendor('Puma Tsugi','Puma'); 

Ensuite, votre fonction initiale doit contenir les déclarations de variables dans les parenthèses:

function search_title_and_vendor($title, $vendor){ 

donc la fonction complète devrait ressembler à:

function search_title_and_vendor($title, $vendor){ 
if (stripos($title, 'Tsugi') !== false) { 
    if (stripos($vendor, 'Puma') !== false) { 
     return 'Puma Tsugi'; 
    } 
    else {return '';} 
} 
} 

Puis $search_result devrait contenir le résultat souhaité:

echo $search_result;