Bonjour à tous,
bon j'ai un fichier texte, qui contient les données comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
N=0,x=23928392,y=2091039,zone=1
N=0,x=59091212,y=6766566,zone=1
N=0,x=23928392,y=2091039,zone=1
N=1,x=45450909,y=6766566,zone=1
N=1,x=23928392,y=2091039,zone=1
N=1,x=45450909,y=6766566,zone=1
N=2,x=23928392,y=2091039,zone=2
N=2,x=23928192,y=6766566,zone=2
N=2,x=23928392,y=2091039,zone=2
N=3,x=23928392,y=2091039,zone=2
N=3,x=23928192,y=6766566,zone=2
N=3,x=23928392,y=2091039,zone=2
aprés que je crée les variable pour stocker ce contenu comme ça:

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
 
 
$lines = file('C:\file.txt', FILE_IGNORE_NEW_LINES);
$data = array();
for($i = 0, $c = count($lines); $i < $c; $i++)  {
    $line = explode(',', rtrim($lines[$i]));
 if(strlen(rtrim($lines[$i])) != 0) {
    $n = explode('=', $line[0]);
    $n = $n[1];
 
    $data[$n][] = $lines[$i];
 
    $x = explode('=', $line[1]);
    $x = $x[1];
 
 
    $y = explode('=', $line[2]);
    $y = $y[1];
 
    $z = explode('=', $line[3]);
    $z = $z[1];
 
    echo 'N='.$n.',x='.$x.',y='.$y.',zone='.$z.'<br>';
}
le contenu s'affiche comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
N=0,x=23928392,y=2091039,zone=1
N=0,x=59091212,y=6766566,zone=1
N=0,x=23928392,y=2091039,zone=1
N=1,x=45450909,y=6766566,zone=1
N=1,x=23928392,y=2091039,zone=1
N=1,x=45450909,y=6766566,zone=1
N=2,x=23928392,y=2091039,zone=2
N=2,x=23928192,y=6766566,zone=2
N=2,x=23928392,y=2091039,zone=2
N=3,x=23928392,y=2091039,zone=2
N=3,x=23928192,y=6766566,zone=2
N=3,x=23928392,y=2091039,zone=2
ok, maintenant je voudrais créer deux chaines(chaine1 pour zone1 et chaine2 pour zone2) qui ont la forme suivant:
((x y,x y,x y),(x y,x y)), bon pour mon cas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
chaine1=((23928392 2091039,59091212 6766566,23928392 2091039), // pour N=0
(45450909 6766566,23928392 2091039,45450909 6766566)) //pour N=1
chaine2=((23928392 2091039,23928192 6766566,23928392 2091039), // pour N=2
(23928392 2091039,23928192 6766566,23928392 2091039)) // pour N=3
chaine1 contient les lignes qui appartient au zone1.et pour chaque N représente un (x y,x y,x y.. )

Merci pour l'aide ,
Crdt