Salut a tous !

Alors, voici ma situation :

j'ai une fonction qui me retourne le resultat d'une requete dans un tableau associatif, dont les clés sont les champs de ma table ...

J'ai ensuite d'autres fonctions qui font un traitement sur ce tableau ...
Dans un certains cas, mon tableau contient 20 clés pour 10912 valeurs par clé.

Le probleme, c que pour ce cas, mon script est beaucoup trop long.

En faisant une fonction de test, qui se place dans mon cas :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
function testBoucles()
{
 
//pour chaque ligne
	for($i=0;$i<10912;$i++)
	{
 
		$strmachin.="machin \n";
//pour chaque clé
		for($j=0;$j<20;$j++)
		{
			$strmachin.="machin \n";
 
//boucle de traitement test pour clé, ligne courante
			for ($k=0;$k<10;$k++)
			{
				$strmachin.="machin \n";
				getArraySqlValue($aPhp_ResultSql,$i,$j);
			}
		}
 
	}
	echo $strmachin;
}
Dans ces boucles imbriquées, j'appelle uniquement la fonction getArraySqlValue();



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
function getArraySqlValue($aPhp_ResultSql,$intSqlLine,$intSqlCol)
{
 
	global $glb_aSqlKeyCols;
 
	$colId=$glb_aSqlKeyCols[$intSqlCol];
 
	$strContenuCel=$aPhp_ResultSql[$colId][$intSqlLine];
 
 
	return $strContenuCel;
}

Je fais un die juste apres la fonction testBoucle, mon script met 41 sec a s'executer ...

Pensez vous que c normal, et auriez vous des idées d'optimisation ?


Merci bien pour votre aide !

@+.