par
Yohann_06 » 02 déc. 2005, 16:00
J'ai fait un exemple sur mon blog pour comprendre le fonctionnement des fichiers + tableaux.
Je suis ouvert à toute remarque et j'espère que ça pourra t'aider.
Bonjour,
j'ai à partir de ton exemple fait une petite modif,
<?
$file = './xxxx.TXT'; // nom de mon fichier
$fp = fopen($file,'rb'); // ouverture du fichier
$tab = array(); // initialisation d'un tableau
while (!feof($fp)){ // tant que la lecture n'arrive pas au bout du fichier
$ligne = fgets($fp, 1024); // stocke le contenu de la ligne dans une variable
$ligne = trim(substr($ligne,0,36));
// $ligne = trim($ligne); // supprime les espaces en début et en fin de chaine
$taille = strlen($ligne); // calcule la taille de la chaine en nbr de caractère
if ($taille != 0){// si la taille de la chaine est différente de 0
/* on aurait pu aller plus loin dans la condition
// if ($taille != 0 && substr_count($ligne,'_') == 2)
// substr_count compte ici le nombre de _ dans la ligne
*/
$tab[]= explode(" ",$ligne); // stocke le contenu dans un tableau
}
}
fclose($fp); // ferme le fichier
$nbr_Enregistrement = count($tab); // nombre d'enregistrements dans le tableau
sort($tab); // tri par ordre alphabétique
/*
ksort($tab,2); // tri par prix ordre croissant
... il existe toutes les possibilités de tri
*/
// rien que pour l'essai, un affichage du tableau
echo '<pre>';
print_r($tab);
echo '</pre>';
?>
celà affiche les carractères de 0 à 36 partie qui m'intéresse,
Code : Tout sélectionner
Array
(
[0] => Array
(
[0] => 8V6176178426400COL
[1] => COMMANDES
[2] => N°
[3] => 1108
)
[1] => Array
(
[0] => 8V6176178427100COL
[1] => COMMANDES
[2] => N°
[3] => 1116
)
)
mais j'aimerai pouvoir récupérer uniquement ([0] et [3]) comme dans ton 1er exemple et si possible sans afficher Array sans ([1] et [2])..
merci de ton aide
[quote="mario"]J'ai fait un exemple sur mon blog pour comprendre le fonctionnement des fichiers + tableaux.
Je suis ouvert à toute remarque et j'espère que ça pourra t'aider.[/quote]
Bonjour,
j'ai à partir de ton exemple fait une petite modif,
[php]
<?
$file = './xxxx.TXT'; // nom de mon fichier
$fp = fopen($file,'rb'); // ouverture du fichier
$tab = array(); // initialisation d'un tableau
while (!feof($fp)){ // tant que la lecture n'arrive pas au bout du fichier
$ligne = fgets($fp, 1024); // stocke le contenu de la ligne dans une variable
$ligne = trim(substr($ligne,0,36));
// $ligne = trim($ligne); // supprime les espaces en début et en fin de chaine
$taille = strlen($ligne); // calcule la taille de la chaine en nbr de caractère
if ($taille != 0){// si la taille de la chaine est différente de 0
/* on aurait pu aller plus loin dans la condition
// if ($taille != 0 && substr_count($ligne,'_') == 2)
// substr_count compte ici le nombre de _ dans la ligne
*/
$tab[]= explode(" ",$ligne); // stocke le contenu dans un tableau
}
}
fclose($fp); // ferme le fichier
$nbr_Enregistrement = count($tab); // nombre d'enregistrements dans le tableau
sort($tab); // tri par ordre alphabétique
/*
ksort($tab,2); // tri par prix ordre croissant
... il existe toutes les possibilités de tri
*/
// rien que pour l'essai, un affichage du tableau
echo '<pre>';
print_r($tab);
echo '</pre>';
?>[/php]
celà affiche les carractères de 0 à 36 partie qui m'intéresse,
[code]Array
(
[0] => Array
(
[0] => 8V6176178426400COL
[1] => COMMANDES
[2] => N°
[3] => 1108
)
[1] => Array
(
[0] => 8V6176178427100COL
[1] => COMMANDES
[2] => N°
[3] => 1116
)
)[/code]
mais j'aimerai pouvoir récupérer uniquement ([0] et [3]) comme dans ton 1er exemple et si possible sans afficher Array sans ([1] et [2])..
merci de ton aide