Strippen string
Hoe kan ik een hele lang string strippen in meerdere substrings. Het zijn namelijk waardes die in aparte regels ingevoerd moeten worden.
Elke regel begint met een datum DD/MM/YY
Enige idee hoe ik daar verschillende stringetjes van kan maken?
explode
de datum is namelijk variabele en als je gaat explode dan haalt ie ook die datum weg.
dit is mijn code nu:
$data_array = explode("../../..", $data);
waarbij die .. dus de getallen zijn
Code (php)
Even beter de docs lezen.
Elwin
for ($i=0; $i < $aantal; $i++) {
echo "".$data_array[$i]."<br>";
}
maar dat is nog niet wat ik zoek.. ik ga wel nog een keer lezen
Snappen jullie het nog?
01/01/05 1770 1 99.00 99.82 98.16 01/01/05 1770 2 98.55 98.44 97.88 01/01/05 1770 3 99.21 98.82 97.16 01/01/05 1770 4 98.65 99.44 96.88
Elke rij begint dus met een datum. Deze moet gesplitst worden in rijen in dit geval dus 4, waarna de getallen ook weer gesplitst worden. Zodat die ieder in een kolom geinsert kunnen worden
Ik zal wordwrap nog is proberen.
Wat een rotzooisring.. kun je niet beter een MySQL database maken?
Ik heb een MySQL database daar moet het juist in!
In totaal heb ik nu 450 , als hij er 50 heeft uitgelezen moet ie dus in principe weer overnieuw beginnen met een SQL query te maken. hij moet dus zegmaar splitsen in stukken van 50
Code (php)
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
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
<?php
$input = '01/01/05 1770 1 99.00 99.82 98.16 01/01/05 1770 2 98.55 98.44 97.88 01/01/05 1770 3 99.21 98.82 97.16 01/01/05 1770 4 98.65 99.44 96.88';
$aInput_split = explode( ' ', $input );
// Op welke positie beginnen we in de array?
$offset = 0;
// Hoeveel posities pringen we vooruit voor de volgende waarde?
$jump = 6;
for( $i = $offset; $i < count($aInput_split); $i += $jump ){
//datum:
echo $i.' - '.$aInput_split[$i].'<br>';
//getal1:
echo ($i+1).' - '.$aInput_split[$i+1].'<br>';
//getal2:
echo ($i+2).' - '.$aInput_split[$i+2].'<br>';
//getal3:
echo ($i+3).' - '.$aInput_split[$i+3].'<br>';
//getal4:
echo ($i+4).' - '.$aInput_split[$i+4].'<br>';
//getal5:
echo ($i+5).' - '.$aInput_split[$i+5].'<br>';
}
?>
$input = '01/01/05 1770 1 99.00 99.82 98.16 01/01/05 1770 2 98.55 98.44 97.88 01/01/05 1770 3 99.21 98.82 97.16 01/01/05 1770 4 98.65 99.44 96.88';
$aInput_split = explode( ' ', $input );
// Op welke positie beginnen we in de array?
$offset = 0;
// Hoeveel posities pringen we vooruit voor de volgende waarde?
$jump = 6;
for( $i = $offset; $i < count($aInput_split); $i += $jump ){
//datum:
echo $i.' - '.$aInput_split[$i].'<br>';
//getal1:
echo ($i+1).' - '.$aInput_split[$i+1].'<br>';
//getal2:
echo ($i+2).' - '.$aInput_split[$i+2].'<br>';
//getal3:
echo ($i+3).' - '.$aInput_split[$i+3].'<br>';
//getal4:
echo ($i+4).' - '.$aInput_split[$i+4].'<br>';
//getal5:
echo ($i+5).' - '.$aInput_split[$i+5].'<br>';
}
?>
Gewijzigd op 05/04/2005 16:15:00 door Martijn B
Nee sorry het is niet echt wat ik bedoel. De bedoeling is in dit voorbeeld dan. Op de eerste 6 getallen te pakken die stuk voor stuk in een tabel in te voegen. En dan weer 6 enz tot de array leeg is.
substr(); gebruiken? Of heeft de zin van tijd tot tijd geen vast lengte... (Of valt er een vast lente van te maken...)
Code (php)
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
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
<?php
$input = '01/01/05 1770 1 99.00 99.82 98.16 01/01/05 1770 2 98.55 98.44 97.88 01/01/05 1770 3 99.21 98.82 97.16 01/01/05 1770 4 98.65 99.44 96.88';
$aInput_split = explode( ' ', $input );
// Op welke positie beginnen we in de array?
$offset = 0;
// Hoeveel posities pringen we vooruit voor de volgende waarde?
$jump = 6;
for( $i = $offset; $i < count($aInput_split); $i += $jump ){
//datum (DD/MM/YY ):
echo $i.' - '.$aInput_split[$i].'<br>';
$aDatum_split = explode( '/', $aInput_split[$i] );
// Datum: Dag
echo 'Dag: '.$aDatum_split[0].'<br>';
// Datum: Maand
echo 'Maand: '.$aDatum_split[1].'<br>';
// Datum: Jaar
echo 'Jaar: '.$aDatum_split[2].'<br>';
//getal1:
echo ($i+1).' Getal 1 - '.$aInput_split[$i+1].'<br>';
//getal2:
echo ($i+2).' Getal 2 - '.$aInput_split[$i+2].'<br>';
//getal3:
echo ($i+3).' Getal 3 - '.$aInput_split[$i+3].'<br>';
//getal4:
echo ($i+4).' Getal 4 - '.$aInput_split[$i+4].'<br>';
//getal5:
echo ($i+5).' Getal 5 - '.$aInput_split[$i+5].'<br>';
echo '---------------------------------------------<br>';
}
?>
$input = '01/01/05 1770 1 99.00 99.82 98.16 01/01/05 1770 2 98.55 98.44 97.88 01/01/05 1770 3 99.21 98.82 97.16 01/01/05 1770 4 98.65 99.44 96.88';
$aInput_split = explode( ' ', $input );
// Op welke positie beginnen we in de array?
$offset = 0;
// Hoeveel posities pringen we vooruit voor de volgende waarde?
$jump = 6;
for( $i = $offset; $i < count($aInput_split); $i += $jump ){
//datum (DD/MM/YY ):
echo $i.' - '.$aInput_split[$i].'<br>';
$aDatum_split = explode( '/', $aInput_split[$i] );
// Datum: Dag
echo 'Dag: '.$aDatum_split[0].'<br>';
// Datum: Maand
echo 'Maand: '.$aDatum_split[1].'<br>';
// Datum: Jaar
echo 'Jaar: '.$aDatum_split[2].'<br>';
//getal1:
echo ($i+1).' Getal 1 - '.$aInput_split[$i+1].'<br>';
//getal2:
echo ($i+2).' Getal 2 - '.$aInput_split[$i+2].'<br>';
//getal3:
echo ($i+3).' Getal 3 - '.$aInput_split[$i+3].'<br>';
//getal4:
echo ($i+4).' Getal 4 - '.$aInput_split[$i+4].'<br>';
//getal5:
echo ($i+5).' Getal 5 - '.$aInput_split[$i+5].'<br>';
echo '---------------------------------------------<br>';
}
?>
Nu heb ik toch echt alle mogelijke info uit 1 regel gehaald!
Gewijzigd op 06/04/2005 13:19:00 door Martijn B
Thnxs!