Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Päivämäärän osien jakaminen taulukkoon

Sivun loppuun

dartvaneri [26.09.2011 21:09:26]

#

Hei! Olen yrittänyt saada päivämäärää jaettua osiin, niin että ne osat sioittuvat taulukkoon, jotta voin niitä sitten tarkastella erikseen. Esim. 19.02.2011

$paivamaara[0] = 19;
$paivamaara[1] = 02;
$paivamaara[2] = 2011;

Olen yrittänyt tehdä tätä explode-funktion ja foreach:n avulla, mutta en ole saanut toimimaan sitä. Siis se ei tulosta mitään.

        $paivamaara = "19.02.2011";
	foreach ($paivamaara as $luku) {

   		 $osat = explode(".", $luku);
		 $vuosi = $osat[0];
		 $kuukausi = $osat[1];
		 $paiva = $osat[2];
                 echo $paiva . "." . $kuukausi . "." . $vuosi;


	}

-tossu- [26.09.2011 21:17:25]

#

Säännöllisillä lausekkeilla tuo hoituu kätevästi:

$paivamaara = "19.02.2011";
preg_match ("/([0-9]{2}).([0-9]{2}).([0-9]{4})/", $paivamaara, $taulukko);

print_r ($taulukko);
list (, $paiva, $kuukausi, $vuosi) = $taulukko;
echo "$paiva $kuukausi $vuosi";

Edit: Koodia yksinkertaistettu

Metabolix [26.09.2011 21:17:35]

#

Olisiko taas liikaa vaadittu, että laittaisit virheilmoitukset käyttöön ja korjaisit ne? Jos tuo on todella koodisi, mitä ihmettä luulet tekeväsi foreach-silmukalla, kun $paivamaara on teksti eikä taulukko?

dartvaneri [26.09.2011 21:20:01]

#

Kiitos tossu.
Metapolix:
Yritin tuolla php-opassarjan tiedostojen käsittely osiossa olevasta vinkistä muokata, mutta: fail.

-tossu- [26.09.2011 21:30:37]

#

File-funktio palauttaa taulukon tiedoston riveistä, joka pitää käydä läpi silmukassa ennen yksittäisen rivin jakamista osiin. Yhden rivin sen sijaan jakaa pelkällä explodella:

list ($paiva, $kuukausi, $vuosi) = explode (".", $paivamaara);

dartvaneri [26.09.2011 21:44:01]

#

Joo tuo list funktio olikin mulle uusi :)

makumaku [26.09.2011 22:58:57]

#

dartvaneri kirjoitti:

Hei! Olen yrittänyt saada päivämäärää jaettua osiin, niin että ne osat sioittuvat taulukkoon, jotta voin niitä sitten tarkastella erikseen. Esim. 19.02.2011

$paivamaara[0] = 19;
$paivamaara[1] = 02;
$paivamaara[2] = 2011;

Siis sinähän halusit ne osat nimenomaan taulukkoon. Ethän silloin edes tarvitse mitään list-funktiota.

$paivamaara = explode(".","19.02.2011");

Tuolla saat ne taulukkoon niinkuin kysymyksessä halusit.

dartvaneri [27.09.2011 17:19:43]

#

Kiitos. Nimenomaan pelkästään taulukkoon, niin että voin ne erikseen sitten otaa ulos.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta