Simplifier un code php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Mer Fév 02, 2005 23:04

Simplifier un code php

Message le Dim Oct 26, 2008 20:56

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: Tout sélectionner
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';   
               
            }

justemoi
WRInaute discret
WRInaute discret
 
Messages: 81
Inscription: Ven Oct 24, 2008 18:08

Message le Dim Oct 26, 2008 21:16

Peut etre en utilisant un switch en php sur la valeur de $itemsrow['id'] ?
Code: Tout sélectionner
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;
}


sff
WRInaute impliqué
WRInaute impliqué
 
Messages: 289
Inscription: Mer Fév 02, 2005 23:04

suite

Message le Dim Oct 26, 2008 21:44

Comme ca tu veux dire :

Code: Tout sélectionner
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?

justemoi
WRInaute discret
WRInaute discret
 
Messages: 81
Inscription: Ven Oct 24, 2008 18:08

Message le Dim Oct 26, 2008 21:58

oui sans les virgules effectivement.
faire plus simple peut etre mais je vois pas.


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Dim Oct 26, 2008 23:03

Peut être plus avant (la construction de ton tableau, ou la requête derrière) qu'il faudrait jouer?


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 476
Inscription: Dim Avr 15, 2007 17:14

Message le Lun Oct 27, 2008 7:54

en regroupant les 'equip' et les 'bar' dans des tableaux respectif, in_array() serait une solution


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Lun Oct 27, 2008 8:03

essaye avec le in_array suggerer par seebz : (jamais testé)

Code: Tout sélectionner
  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';


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités