Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP - ei oska teha märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 12.04.2011 19:03:07 PHP - ei oska teha vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 12.04.2011 19:19:59 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 12.04.2011 19:42:05 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 12.04.2011 20:03:19 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
hexmex
HV kasutaja

liitunud: 13.06.2006




sõnum 12.04.2011 20:26:49 vasta tsitaadiga

Kiiruga tiba lühem jupp koodi, mis ka justkui teeb oma tööd icon_smile.gif

$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
vaata kasutaja infot saada privaatsõnum
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 12.04.2011 21:32:06 vasta tsitaadiga

Suured tänud, kõik töötab nii nagu vaja. thumbs_up.gif
(PS! tegu pole koolitööga)
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP - ei oska teha
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
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



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.