Bonsoir tout le monde

je comprends pas du tout d' ou vient mon probleme. le script est simple.

je vous explique le concept

- lister les fichiers d' un repertoire >> pas de probleme
- executer certaines actions ds une boucle for en fonction du nbre de fichiers

Je ne vous mets que la boucle for, la premiere partie du script ne pose aucun probleme.

ce que je veux faire:
creer pour chaque fichier présent ds le repertoire 4 tableaux.
le nom de chacun de ces tableaux est générique:
1° tableau= $tableau_fichier_source[$i] >> doit contenir tout le fichier source
2° tableau= $tableau_fichier_source_entete[$i] >> doit contenir l' entete
3° tableau= $tableau_fichier_source_mvts[$i] >> doit contenir un nbre variable de L propre au fichier
4° tableau= $tableau_fichier_source_resultat[$i] >> doit contenir une seule L

tout se passe au niveau de la creation de ces tableaux et/ou de la seconde boucle FOR (imbriquée ds la 1°).
je ne sais pas si je nomme correctement mes tableaux MAIS ds la seconde boucle FOR, je remplis mon 1° tableau et je l' affiche avec print_r (il me l' affiche autant de fois qu' il y a de L ds le fichier (normal).
Par contre lorsuqe je réitere l' operation pour remplir mes 2°, 3° et 4° tableaux, là il m' affiche des valeurs telles: 'A' ou 'Array()'

pourriez vous m' expliquer d' ou vient le probleme s' il vous plait.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
// # [PREMIERE BOUCLE FOR] ###############################################
	// BOUCLE QUI TRAVAILLE SUR TOUS LES FICHIERS PGN
	for($i= 0; $i< $nbre_fichiers; $i++) {
 
		// ouverture de chacun des fichiers en lecture seule
		// je rajoute 1 car le 1° fichier du repertoire débute à l' indice 1
		$fichier[$i]= "parties_pgn/partie_".($i+ 1).".pgn";
 
		// test d' existence des fichiers
		if(file_exists($fichier[$i])) {
 
			// ouverture de chaque fichier pgn
			$fichier_ouvert[$i]= fopen($fichier[$i], "r");
 
			// lecture de chaque fichier pgn
			$fichier_lecture[$i]= file($fichier[$i]);
 
			// on compte les L de chacun des fichiers pgn
			$fichier_nbre_L[$i]= count($fichier_lecture[$i]);
			echo '<br>'.$fichier[$i].' possede: '.$fichier_nbre_L[$i].' lignes. <br>';
 
			// on cree 1 tableau pour chacun des fichiers sources
			// but:
			// contenir tout le fichier source
			$tab_fichier_source[$i]= array();
 
 
			// on cree 3 tableaux pour chacun des fichiers sources
			// EN DEHORS DE LA DEUXIEME BOUCLE FOR POUR POUVOIR Y ACCEDER
			// but:
			// $tab_fichier_source_entete[$i]	>> pour stocker les L débutant par "["
			// $tab_fichier_source_mvts[$i]		>> pour stocker la liste des mvts des 2 joueurs
			// $tab_fichier_source_resultat[$i]	>> pour stocker le resultat de la partie
			$tab_fichier_source_entete[$i]= array();
			$tab_fichier_source_mvts[$i]= array();
			$tab_fichier_source_resultat[$i]= array();
 
			for($j= 0; $j< $fichier_nbre_L[$i]; $j++) {
				// on stocke chacune des L de chacun des fichiers pgn
				// ds le $tab_fichier_source[$i] prevu à cet effet
				array_push($tab_fichier_source[$i], $fichier_lecture[$i]);
 
				// 1) >> définition de la recherche qui porte sur le 1° caractere de chaque L de chaque fichier pgn
				$recherche[$j]= substr($tab_fichier_source[$i], 0, 1);
				//echo $recherche[$j];
 
				// tests d' égalité
				if($recherche[$j]=== "[") {
					array_push($tab_fichier_source_entete[$i], $tab_fichier[$i]);
				}/*
				else if($recherche[$i]!= "[" && $recherche[$i]!= "{" && $recherche[$i]!= "\n") {
					array_push($tab_fichier_source_mvts[$i], $tab_fichier_source[$i]);
				}
				else if($recherche[$i]=== "{") {
					array_push($tab_fichier_source_resultat[$i], $tab_fichier_source[$i]);
				}*/
			}
		}
	}
	// # [/ PREMIERE BOUCLE FOR] ###########################################
Merci bien pour l' aide
areuh_fr