Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Stemugram
HV kasutaja
liitunud: 02.12.2001
|
12.04.2011 19:03:07
PHP - ei oska teha |
|
|
Mul on rida aastaarve ja nüüd oleks vaja nende vahemikud saada.
Kuidas seda PHPs teha?
Näiteks on sellised aastad:
1725
1726
1727
1728
1788
1789
1790
1800
ja oleks vaja saada selline rida:
1725-1728, 1788-1790, 1800
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
12.04.2011 19:19:59
|
|
|
Mismoodi need aastaarvud on sul täpselt (failis, arrays, lihtsalt spacega ühes reas, komadega eraldatud?)? Ja mille järgi see grouppimine käima peaks, aastakümne?
Muidu uuri explode ja php array'de kohta.
Viskad explode'ga nad arraysse, loopid array läbi, moodustad groupid samal ajal ja ongi tulemus käes.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
Stemugram
HV kasutaja
liitunud: 02.12.2001
|
12.04.2011 19:42:05
|
|
|
Aastad on arrays.
Aastad on mul järjest (1700-1930) kuid osa aastaid on vahelt ära.
Nüüd oleks vaja grupeerida aastad mis mul olemas on (ehk siis kui kõik aastad on olemas siis tulekski vahemik 1700-1930).
Hea oleks kui keegi mingi näite teeks nende gruppide tegemisest.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
12.04.2011 20:03:19
|
|
|
http://paste2.org/p/1359512
Töötab niipalju kui mul testmaterjali oli. Kindlasti on võimalik paremini ja muudmoodi teha, aga ilmselt saad oma punktid kätte.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
hexmex
HV kasutaja
liitunud: 13.06.2006
|
12.04.2011 20:26:49
|
|
|
Kiiruga tiba lühem jupp koodi, mis ka justkui teeb oma tööd
$years = array(
1725,
1726,
1727,
1728,
1788,
1789,
1790,
1800
);
$groups = array();
$firstYear = $prevYear = array_shift($years);
while ($year = array_shift($years)){
if ($year != ($prevYear + 1)){
$groups[] = $firstYear != $prevYear ? "$firstYear - $prevYear" : $firstYear;
$firstYear = $year;
}
$prevYear = $year;
}
$groups[] = $firstYear != $prevYear ? "$firstYear - $prevYear" : $firstYear;
$output = join(' , ',$groups);
echo $output; |
_________________ Olgem sõbralikud! |
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
2 |
|
tagasi üles |
|
 |
Stemugram
HV kasutaja
liitunud: 02.12.2001
|
12.04.2011 21:32:06
|
|
|
Suured tänud, kõik töötab nii nagu vaja.
(PS! tegu pole koolitööga)
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|