Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] pocięcie zmiennej ;]
Forum PHP.pl > Forum > Przedszkole
peter13135
mam date zapisaną w taki sposób $data=20080811 jest to kolejno rok, miesiąc oraz dzień
i teraz chciałbym to "rozłożyć" w ten sposób
$data[year]=2008
$data[month]=08
$data[day]=11

mógłby mi ktoś pomóc?
JoShiMa
Manual Twoim przyjacielem jest: str_split()
batman
Bardziej przyda Ci się substr
peter13135
no ale
str_split($str, 3);
potnie mi zmienną po 3
a ja chce by po pocieło 4, 2, 2
kornel-php
Ale srt_split tnie na równe części, a tu będą one miały różną długość... Rozsądniej chyba użyć substr()" title="Zobacz w manualu PHP" target="_manual...

edit: się spóźniłem winksmiley.jpg
nospor
a czy nie lepiej by bylo przechowywac date w formacie daty? Timestamp lub 2008-08-11 tak by mozna bylo potem swobodnie na tym operowac?
peter13135
mnie sie pytasz?? ja jestem bardzo początkującym php-owcem, nieznam sie na wszystkich funkcjach (znam tylko te bardzo podstawowe smile.gif)
przy rejestracji zrobiłem 3 pola gdzie sie wpisuje kolejno dzien miech i rok potem to łącze i wrzucam do bazy,
ale... właściwie może miedzy połączeniami dam myśliniki i będzie git
nospor
Cytat
przy rejestracji zrobiłem 3 pola gdzie sie wpisuje kolejno dzien miech i rok potem to łącze i wrzucam do bazy,
ale... właściwie może miedzy połączeniami dam myśliniki i będzie git

Pole w bazie na date ma byc typu DATE. Tak, potem łącz to przez myslnik i wrzucaj do bazy.
Każde pole musi byc takiego typu, jakiego wartosci przyjmuje. Bedzie ci potem latwiej operowac. kazdy typ ma specjalne funkcje, ktore go obsługują
peter13135
no ale powiedzmy że w przyszłości chciałbym zrobić wyświetlanie wieku usera..
no więc chyba w ten sposób będe mógł podzielić tą zmienną funkcją explode, nie?
niepamiętam jak to działa, ale o tym czytałem
nospor
ale zadne explode.
Do obrobki dat sa specjalne funkcje zarowno po stronie bazy jak i php
http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html
http://pl2.php.net/manual/pl/ref.datetime.php

po to sie daje konkretne typy by potem z tego optymalnie korzystac
rybik
najprościej:
  1. <?php
  2. $str = '20080504';
  3. echo date("Y-m-d",strtotime($str));
  4. // 2008-05-04
  5. ?>


jeżeli taki zapis jak podałeś masz w bazie danych to użyj mysqlowej funkcji przy wyciąganiu danych:
  1. mysql> SELECT STR_TO_DATE('20080504', '%Y%m%d');
  2. -> '2008-05-04'


jak masz format z myślnikami to wystarczy explodować to do tablicy i po krzyku
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.