Simplifier un code php

  • Auteur de la discussion Auteur de la discussion sff
  • Date de début Date de début
WRInaute impliqué
Bonjour, je me demande bien comment je pourrais simplifier ce bout de code php. Je pensais utiliser une boucle for(), mais j'arrive pas la mettre en oeuvre.

Quelqu'un aurait t'il une idée de simplification?

Code:
if($userrow['equip1id'] == $itemsrow['id'] OR $userrow['equip2id'] == $itemsrow['id'] OR $userrow['equip3id'] == $itemsrow['id']){
					
					$buy = 'texte 1';	     		
					
				}elseif($userrow['bag1id'] == $itemsrow['id'] OR $userrow['bag2id'] == $itemsrow['id'] OR $userrow['bag3id'] == $itemsrow['id'] OR $userrow['bag4id'] == $itemsrow['id'] OR $userrow['bag5id'] == $itemsrow['id'] OR $userrow['bag6id'] == $itemsrow['id'] OR $userrow['bag7id'] == $itemsrow['id'] OR $userrow['bag8id'] == $itemsrow['id'] OR $userrow['bag9id'] == $itemsrow['id'] OR $userrow['bag10id'] == $itemsrow['id']){
					
					$buy = 'texte2';	
					
				}else{
					
					$buy = 'texte 3';	
					
				}
 
WRInaute discret
Peut etre en utilisant un switch en php sur la valeur de $itemsrow['id'] ?
Code:
switch ($itemsrow['id'] ) {
case "$userrow['equip1id']",
case $userrow['equip2id'],
etc :
$buy = 'texte 1';
break;
$userrow['bag1id'],
$userrow['bag2id'],
etc :
$buy = 'texte2'; 
break;
default:
$buy = 'texte 3';
break;
}
 
WRInaute impliqué
suite

Comme ca tu veux dire :

Code:
switch ($itemsrow['id']) {
				case $userrow['equip1id']:
				case $userrow['equip2id']:
				case $userrow['equip3id']:
					
					$buy = 'texte ici';
					break;
					
				case $userrow['bag1id']:
				case $userrow['bag2id']:
				case $userrow['bag3id']:
				case $userrow['bag4id']:
				case $userrow['bag5id']:
				case $userrow['bag6id']:
				case $userrow['bag7id']:
				case $userrow['bag8id']:
				case $userrow['bag9id']:
				case $userrow['bag10id']:
					
					$buy = 'texte ici';	
					break;
					
				default:
					$buy = 'texte ici';
					break;
				}

Il y a pas possibilité de faire encore plus simple?
 
WRInaute accro
essaye avec le in_array suggerer par seebz : (jamais testé)

Code:
  for ($i=1;$i<=3;$i++)  { $tab_1[] = $userrow['equip'.$i.''.'id']; }
  $trans_id = $itemsrow['id'];
  if (in_array($trans_id,$tab_1) $buy = 'texte 1';

  for ($i=2;$i<=10;$i++)  { $tab_2[] = $userrow['bag'.$i.''.'id']; }
  $trans_id = $itemsrow['id'];
  if (in_array($trans_id,$tab_2) $buy = 'texte 2';
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut