[modifié] Lecture fichier txt to Array

versachy Messages postés 3 Date d'inscription jeudi 8 mai 2014 Statut Membre Dernière intervention 13 juin 2014 - Modifié par jordane45 le 9/05/2014 à 03:12
jordane45 Messages postés 37845 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2023 - 9 mai 2014 à 13:52
j ai une question j ai un fich.txt avec des chiffres place comme suit:
10 15 456
5
678
44 66 55 51 87 22
-10 1345
on me le retourne en array 0 mais je veux etre en mesure de les mettres dans un tableau pour etre en mesure de les manipuler par la suite.
-------------------------------------
voici mon code 1
<?php 
$tmp= fopen("fichier.txt", "r"); 
$deli= " \n"; ---> (delimiteur espace et saut de ligne) 
$lire= fgets($tmp); 
while (!feof($tmp){ 
print_r (explode($deli,$lire); 
$lire= fgets($tmp); 
} 
?>

------------------------------------------------
voici mon code 2
 $tmp= fopen("fichier.txt", "r"); 

 $delim= "  \n";

 $lire= fgets($tmp);

 while (!feof($tmp)) {

 $token= strtok(" ",$lire);

 while ($token != null){

 $da= explode($token);

 print_r($da);

  }

  $lire= fgets($tmp);

}

?>


Modifié par Jordane45 => Ajout des balises de code !
A voir également:

1 réponse

jordane45 Messages postés 37845 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 novembre 2023 342
Modifié par jordane45 le 9/05/2014 à 13:57
<?php
$deli= " ";
$filename = "mytext.txt";
$arrayResult = array();
$tmp= fopen($filename, "r"); 

while (!feof($tmp)){ 
   $lire= fgets($tmp); 
   //on stocke le résultat dans un tableau
   $arrayResult[]=explode($deli,$lire);
} 

//-------------------------------
// Affichage du tableau :
//-------------------------------
var_dump($arrayResult);

?>


Ce qui donne quelque chose de la forme :


array
0 =>
array
0 => string '10' (length=2)
1 => string '15' (length=2)
2 => string '456

' (length=5)
1 =>
array
0 => string '5

' (length=3)
2 =>
array
0 => string '678

' (length=5)
3 =>
array
0 => string '44' (length=2)
1 => string '66' (length=2)
2 => string '55' (length=2)
3 => string '51' (length=2)
4 => string '87' (length=2)
5 => string '22

' (length=4)
4 =>
array
0 => string '-10' (length=3)
1 => string '1345' (length=4)
2 => string '' (length=0)



Sinon.. version 2 :
<?php
//***************************
// Version 2:
//***************************
$deli= " ";
$filename = "mytext.txt";
$arrayResult = array();
$tmp= fopen($filename, "r"); 

while (!feof($tmp)){ 
   $lire= fgets($tmp); 
   //on stocke le résultat dans un tableau
	 $nombreTmp = explode($deli,$lire);
	 foreach ($nombreTmp as $nombre){
    if(is_numeric($nombre)){
		 $arrayResult[]=$nombre;
		}
	 }
} 

//-------------------------------
// Affichage du tableau :
//-------------------------------
var_dump($arrayResult);

?>


Ce qui donne :

array
0 => string '10' (length=2)
1 => string '15' (length=2)
2 => string '44' (length=2)
3 => string '66' (length=2)
4 => string '55' (length=2)
5 => string '51' (length=2)
6 => string '87' (length=2)
7 => string '-10' (length=3)
8 => string '1345' (length=4)


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
1
Rejoignez-nous