Php foreach après foreach avec autre fichier

Résolu/Fermé
Sggg - 15 mars 2011 à 17:13
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 16 mars 2011 à 11:34
Bonjour,

J'utilise actuellement ce code pour lire des fichiers textes.
Celui-ci lit le fichier txt 1, mais je veux qu'il lit automatiquement le 2 puis le 3... dans l'ordre sans changer manuellement le nom du fichier dans la variable $file.
Je veux 1 seule boucle à la fois, quand la 1 est fini on passe a la 2, puis 3...

<?php
$file = file_get_contents('1.txt');
if(!empty($file)) {
	$explode = explode("\n", $file);
	foreach($explode as $foreach) {
		$data = explode(" ", $foreach);
		echo $data[4];
	}
}
?>


Merci
A voir également:

4 réponses

Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
15 mars 2011 à 17:21
Salut,


Si tout tes fichiers en question se nomment 1, 2, 3, ... utilise une variable comme nom de fichier. tu ferai : $file = file_get_contents('$variable.txt'); dans ton "for" et tu change ce nombre à chaque boucle avec un $variable=$variable+1
0
Tu peux me montrer ce que ça donne sur le code ?
Car là, je vois pas comment faire...
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 17:41
Peut-être quelque chose comme :


$i = 1;
while (file_exists("$i.txt"))
{
   $file = file_get_contents("$i.txt");
   if(!empty($file)) {
	$explode = explode("\n", $file);
	foreach($explode as $foreach) {
		$data = explode(" ", $foreach);
		echo $data[4];
	}
   }
   $i++;
}

0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
Modifié par Vardok le 15/03/2011 à 17:42
<?php 
$nb=1 
while($file = file_get_contents('$nb.txt')) 
{ 
        $explode = explode("\n", $file); 
 foreach($explode as $foreach) 
        { 
         $data = explode(" ", $foreach); 
  echo $data[4]; 
                $nb=$nb+1 
        } 
} 

?>



Un truc comme ca quoi
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
15 mars 2011 à 17:44
Chacun son tour chico ^^
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 17:45
Mouahaha :p
0
tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 4
15 mars 2011 à 17:42
essaie quelque chose comme ça
<?php
for($i=1;$i<10;$i++)
{$file = file_get_contents('$i.txt');
if(!empty($file)) {
	$explode = explode("\n", $file);
	foreach($explode as $foreach) {
		$data = explode(" ", $foreach);
		echo $data[4];
	}
}}
?>
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 17:48
Par contre tu limites a 10 le nombre de page, si ce nombre est dynamique et qu'il rajoute des pages automatiquement c'est moyen de devoir modifier le code a chaque fois :/
0
Vardok Messages postés 359 Date d'inscription lundi 30 novembre 2009 Statut Membre Dernière intervention 24 octobre 2014 133
15 mars 2011 à 17:50
Ouai un "pour" n'est pas approprié là ^^
J'ai l'impréssion que tout le monde post sauf le concerné là ^^
Sggg t'es là ?
0
tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 4
15 mars 2011 à 19:07
on peut modifier le 10 par une variable :)
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 18:14
<?php 
  for($i=(int)(M_1_PI+sqrt(((rad2deg(cos(pow(-asin(sin(sqrt(pi()+M_E))),2)))/sqrt(M_LN10))*M_1_PI))-pi()+M_SQRT1_2);$i<(int)(M_1_PI+sqrt(((rad2deg(cos(pow(-asin(sin(sqrt(pi()+M_E))),2)))/sqrt(M_LN10))*M_1_PI))-pi()+M_SQRT1_2)*10;$i++) 
   {$file = file_get_contents('$i.txt');if(!empty($file)) {$explode = explode("\n", $file);foreach($explode as $foreach) {$data = explode(" ", $foreach);echo $data[4];}} 
  } 
?> 


chacun sa version...
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
15 mars 2011 à 19:52
Ptdr. Le pire c'est que ca marche, juste remplacer file_get_contents('$i.txt') par file_get_contents("$i.txt")

Faut mettre des " sinon il n'interprète pas la variable et l'utilise comme chaine ..
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
16 mars 2011 à 11:34
Forcément que ça fonctionne xD
0
Merci beaucoup pour toutes ces réponses !
C'est parfait, j'ai également beaucoup de choix (lol).
0