Simplifier un code php

  • Auteur de la discussion Auteur de la discussion sff
  • Date de début Date de début
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';	
					
				}
 
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;
}
 
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?
 
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