Amélioration en rapidité d'un p'tit bout de code [PHP] - PHP - Programmation
Marsh Posté le 17-06-2003 à 23:20:56
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
Marsh Posté le 18-06-2003 à 00:53:49
1- le bout de code ne peut pas marcher, $nb n'est pas initialisé
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; |
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".
Marsh Posté le 18-06-2003 à 01:09:21
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 é qui trainent...
La version original est plus lisible
http://www.php.net/manual/en/language.types.array.php
Marsh Posté le 15-06-2003 à 18:20:32
Voici le bout de code que j'aimerais augmenter en rapidité d'exécution :
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.