Améliorer du code

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Améliorer du code

par Sékiltoyai » 28 mars 2008, 16:42

Oui voilà c'est ce que j'ai fais mais je pensais qu'il était possible de les regrouper, car comme SQL le permet
Non, plus :-/
En SQL, l'opérateur OR dans un tel contexte est un opérateur bit à bit, donc 1 or 2 or 3 est égal à 3 :
http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html

par agité » 28 mars 2008, 16:14

Oui voilà c'est ce que j'ai fais mais je pensais qu'il était possible de les regrouper, car comme SQL le permet je pensais que php pouvait utiliser la même syntaxe.

Merci pour vos réponses.

par Sékiltoyai » 28 mars 2008, 16:07

bah
($var == 1) || ($var == 2) || ...

par agité » 28 mars 2008, 15:41

Au passage, ce code ne te donnera pas le résultat escompté :
$Array_Lots['Stationnement_type'] == ( 1 or 2 or 3 )
Les 'or' ne sont pas corrects.
Il faudrait utiliser quel syntaxe ?

Et pour les boucles infinies je n'en vois pas ici.

par Berzemus » 28 mars 2008, 15:12

Tout en évitant les boucles infinies.

par Sékiltoyai » 28 mars 2008, 15:11

Au passage, ce code ne te donnera pas le résultat escompté :
$Array_Lots['Stationnement_type'] == ( 1 or 2 or 3 )
Les 'or' ne sont pas corrects.

par Sékiltoyai » 28 mars 2008, 15:10

Tu sais, l'important, ce n'est pas avoir un code de 3 lignes, aussi court qu'un script perl. Le principal, c'est du code stable et performant.

Améliorer du code

par agité » 28 mars 2008, 14:14

Bonjour,

je cherche a améliorer une partie de code que j'ai fais mais qui ne me semble pas optimum :
		// Parking autre n'est pas renseigné 
		if( empty($Array_Lots['Stationnement_autre']) )
		{
		 // Pour un appartement ou un duplex
		 if( $Array_Lots['Id_cat_prod_genre'] == ( 1 or 2 ) )
		 {
		  // Pour les parking interieur
		  if( $Array_Lots['Stationnement_type'] == ( 1 or 2 or 3 ) )
		  {
			 $Parking1 = $Array_Lots['Stationnement_num']; 
			 $Parking2 = NULL;
		  }
			// Pour les parking exterieurs 
			else if( $Array_Lots['Stationnement_type'] == 4 )
			{ 
			 $Parking2 = $Array_Lots['Stationnement_num']; 
			 $Parking1 = NULL;
		  }
		 }
		 //Pour les maisons
		 else if( $Array_Lots['Id_cat_prod_genre'] == 3 )
		 {
		 	// Pour les parking interieur
		  if( $Array_Lots['Stationnement_type'] == 1 )
		  {
			 $Parking1 = $Array_Lots['Stationnement_num']; 
			 $Parking2 = NULL;
		  }
			// Pour les parking exterieurs 
			else if( $Array_Lots['Stationnement_type'] == 2 )
			{ 
			 $Parking2 = $Array_Lots['Stationnement_num']; 
			 $Parking1 = NULL;
		  }	
		 }	
		}else{ 
		$Parking1= NULL; 
		$Parking2 = NULL; 
		}	


Pas possible de passer sur plusieurs switch imbriqués, donc j'ai fais une liste de if / else.

C'est assez simple au final mais je pense que ca peut être largement raccourcis.

Une idée ?