Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2955 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Amélioration en rapidité d'un p'tit bout de code

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Amélioration en rapidité d'un p'tit bout de code

n°428006
ced_voyage
Posté le 15-06-2003 à 18:20:32  profilanswer
 

Voici le bout de code que j'aimerais augmenter en rapidité d'exécution :

Code :
  1. $caddie = array( array( idx => 14, id_genre => 3, qty => 1), array( idx => 12, id_genre => 3, qty => 1) );
  2. // Testons voir si l'élément existe ou non déjà dans le caddie
  3. $new_idx=142;
  4. $new_id_genre=3;
  5. echo "<p> Article oui ou non déjà dans le caddie<br>";
  6. echo "nouvel article à vérifier : idx = $new_idx ; id_genre = $new_id_genre<br>";
  7. $nb=count($caddie);
  8. for($i=0 ; $i<$nb ; $i++)
  9. if( $caddie[$i]["idx"]==$new_idx && $caddie[$i]["id_genre"]==$new_id_genre )
  10.    {  $deja_com=1;
  11.        $i=$nb;
  12.     }
  13. }
  14. if($deja_com)
  15. {  echo "/!\ article déjà commandé";  }
  16. else {  echo "article jamais commandé";  }


 
Car pour de gros caddie (qui est le cas du site car il est facile d'avoir des centaines d'articles) tester chaque éléments avec tous sont déjà présent dans le caddie prends beaucoup de temps.
Y'aurait-il un moyen plus rapide de tester si les valeurs idx ET id_genre (les 2 en même temps) ont déjà oui ou non été mise dans le tableau.

mood
Publicité
Posté le 15-06-2003 à 18:20:32  profilanswer
 

n°431351
ofbdood
Posté le 17-06-2003 à 23:20:56  profilanswer
 

peut etre avec cette fonction :
http://fr.php.net/manual/fr/function.in-array.php
 
enfin çà doit revenir au meme mais ça fera plus propre :)

n°431427
Mara's dad
Yes I can !
Posté le 18-06-2003 à 00:53:49  profilanswer
 

1- le bout de code ne peut pas marcher, $nb n'est pas initialisé  :D  
2- Sérieusement, change la structure de ton tableau :
Au lieu de

$caddie = array( array( idx => 14, id_genre => 3, qty => 1), array( idx => 12, id_genre => 3, qty => 1) );


Fait un truc du genre :

$caddie[3][14] = 1;
$caddie[3][12] = 1;

 
 
Comme çà t'as un accès direct en fonction de idx et de id_genre.
 
C'est beau le tableau associatif, mais à condition que ce soir vraiement util !
 
D'autre part, on n'écrit pas

array( idx => 12, id_genre => 3, qty => 1)


mais

array( 'idx' => 12, 'id_genre' => 3, 'qty' => 1)


Les indices sont des chaînes de caractères. Quand tu met idx au lieu de 'idx', PHP cherche une constante idx et comme il la trouve pas, il le crée et lui donne la valeur 'idx' ! C'est pas propre ! Surtout si un jour t'a par exemple un truc comme :

define("idx", "qty" );


Là ton code se met à bugger de partout et tu comprends pas pourquoi.
Bon tu peux penser qui çà n'arrivera pas, mais t'es pas le seul à définir des constantes...
http://www.php.net/manual/fr/language.types.array.php au paragraphe "Attention aux tableaux".


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°431441
Mara's dad
Yes I can !
Posté le 18-06-2003 à 01:09:21  profilanswer
 

Y'a un bug HTML dans la doc http://www.php.net/manual/fr/language.types.array.php
Dans le paragraphe 7-15. Exemples de conflits de constantes indéfinies
 
Y'a plein de &eacute; qui trainent...
 
La version original est plus lisible
http://www.php.net/manual/en/language.types.array.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Amélioration en rapidité d'un p'tit bout de code

 

Sujets relatifs
Probleme pour indiquer le chemin d'1 JavaScript dans le code HTML[PHP] erreur lors du passage php -> html
[PHP] Question facile : Comment lire un élément d'un tableau[PHP & JS] Passage de variables ...? [RESOLVU]
Ptit truc pratique en PHPproblème avec du PHP qui génère du JS
p'tit coup de main pour debuguer un code?Utiliser une variable javascript dans le code asp?????
Utiliser une variable définie en javascript dans le code asp[PHP] Je ne trouve pas l'erreur ... [Résolu]
Plus de sujets relatifs à : [PHP] Amélioration en rapidité d'un p'tit bout de code


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR