PHP problem [f. if]


(andrzejt17) #1

Witam,

Piszę w PHP skrypt, który oblicza różnicę czasu w minutach od daty zapisanej w ciastku a daty aktualnej. W ten sposób otrzymuje wynik ile czasu pozostało do 'czegoś'. Wynik przedstawiam tak:

Pozostało np. 25 minut.

Jednak co wyświetlić, jeśli pozostało 2 minuty ? (zmiana 'minut' <-> 'minuty') W tym celu piszę skrypt, który odczytuje ilość czsu który pozostał, porównuje go z odpowiednią wartością i zwaraca wynik w postaci 'minut' || 'minuty' || 'minuta'. Tutaj zaczyna się cały problem ponieważ chcę wartość "przerobionej" funkcji date(); porównać do liczby. Jeśli pozostało np 25 minut ma wyświetlić wyraz "minut" a nie minuty czy minuta. A z tego co widze to jest to niemożliwe. Pytanie więc jak przedstawić wartość date("i") za pomocą liczby, żebym mógł ją porównać do jakieś liczby, zeby skrypt mógł się wykonać ?? Lub w ogóle jakieś inne rozwiązanie pochodne tego co próbuję tu stworzyć :stuck_out_tongue:

if (date("i") == 25)

{

$text = minut;

}

else if(date("i") == 2)

{

$text = minuty;

} else {}

Może troszkę zamotałem ale nie potrafie tego ogarnąć :stuck_out_tongue: Jeśli ktoś chce mogę wrzucić ten kawałek kodu gdzie to usiłuje zrobić. Proszę o jakąś wskazówkę bo sam nie daje rady z tym problemem :wink:


([alex]) #2

if(date("i") === '25') ...

else if(date("i") === '02') ...


(andrzejt17) #3

Hohohh stokrotne dzięki :slight_smile: Malutka modyfikacja zmienia całą resztę xD Ale te '===' można było sobie darować :wink: '===' zamiast '==' tylko odrobinke przespieszają wykonywanie kodu i to nie w 1 czy w 10 funkcjach if(); tylko w setkach :stuck_out_tongue: To tak na przyszłość :wink:

Tak czy inaczej - DZIĘKI :wink:

-- Dodane 25.06.2009 (Cz) 2:13 --

Mam jeszcze jedno pytanie - tak przy okazji: Dlaczego jesli pozostał czas od 9 minut do 1 to date(); zwraca wartość 09, 08 ... 01 ? a nie 9, 8, ... 1 ? ;> Da się to jakoś zmodyfikować ? Właściwie to mi to nie przeszkadza, że wyświetla 06 minut a nie 6 minut ale zawsze jakieś doświadczenie więcej :wink:

-- Dodane 25.06.2009 (Cz) 3:52 --

Problem rozwiązany...

if(date("i") < '10')

{

$q = (date("i") * 1);

}

Generalnie można zamknąć -.-'


([alex]) #4

Możesz skonwertować na liczbę ale podejrzewam że będzie wolniej.