Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> str_split() w php 4
-norbas-
post 6.09.2005, 13:59:01
Post #1





Goście







W skrypcie mam użytą funkcję str_split(), która dzieli stringa o zadaną liczbę znaków.

przykład zastosowania:
  1. <?php
  2.  
  3. $data=date ("YmdHis");
  4. $arr = str_split($data, 2);
  5. $dataf = $arr[0].$arr[1].'-'.$arr[2].'-'.$arr[3].' '.$arr[4].':'.$arr[5].':'.$arr[6];
  6. ?>


uzyskujemy w ten sposób sformatowana datę
2005-09-06 13:54:24

Funkcja ta o ile sie nie mylę pojawiła się w PHP5
a ja musiałem przenieść wszystko na serwer gdzie mam PHP4.x

Pojawia mi się komunikat:
fatal error: Call to undefined function: str_split() in [...] on line 118

Czym zastąpić tę funkcję w php 4.x questionmark.gif?
A może jest jakiś inny sposób na bardzo prostą zamianę stringa z postaci
200509061354 na 2005-09-06 13:54 questionmark.gif?
Go to the top of the page
+Quote Post
nospor
post 6.09.2005, 14:02:04
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2.  
  3. $data=date ("Y-m-d H:i:s");
  4. echo $data;
  5.  
  6. ?>

pozatym mozesz uzyc funckji substr() do wyciagania poszczegolnych fragmentów stringa


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tiraeth
post 6.09.2005, 14:13:58
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
A może jest jakiś inny sposób na bardzo prostą zamianę stringa z postaci 200509061354 na 2005-09-06 13:54 questionmark.gif?


  1. <?php
  2. $data = 200509061354;
  3. $y = substr($data, 0, 4);
  4. $m = substr($data, 4, 2);
  5. $d = substr($data, 6, 2);
  6. $h = substr($data, 8, 2);
  7. $i = substr($data, 10, 2);
  8.  
  9. echo "$y-$m-$d $h:$i";
  10. ?>

To nie działa?
Go to the top of the page
+Quote Post
-Guest-
post 6.09.2005, 14:15:16
Post #4





Goście







Tylko że z substringiem to już nie jest takie proste a i tez mniej eleganckie.

Poza tym przejżałem manuala z php 4 i znalazłem tam funkcję str_split.
Teraz to już nic nie kumam.

("Y-m-d H:i:s");
A takie cos odpada bo dane będa zapisywane do mysqla i będzie ich b. dużo
więc założyłem sobie (chyba słusznie), że im mniej ich będzie tym lepiej.
stąd konieczność użycia takiego czegoś
("YmdHis"); i późniejsza konieczność sformatowania daty.

Może tak być, że ta funkcja została z jakichś powodów wyłączona przez provaidera?
Go to the top of the page
+Quote Post
mike
post 6.09.2005, 14:22:14
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(Guest @ 2005-09-06 14:15:16)
Poza tym przejżałem manuala z php 4 i znalazłem tam funkcję str_split.
Teraz to już nic nie kumam.

Ta funkcja jest dopiero od php5

Cytat(Guest @ 2005-09-06 14:15:16)
("Y-m-d H:i:s");
A takie cos odpada bo dane będa zapisywane do mysqla i będzie ich b. dużo
więc założyłem sobie (chyba słusznie), że im mniej ich będzie tym lepiej.
stąd konieczność użycia takiego czegoś
("YmdHis"); i późniejsza konieczność sformatowania daty.

1. W ten sposób nie zaoszczędzisz miejsca, musiałbyś zapisać z 1000000 rekordów żeby odczuć różnicę;
2. Jeżeli chcesz jednak to zoptymalizować z poziomu bazy to użyj typów pól związanych z datą: DATE, DATETIME lub TIMESTAMP, będziesz miał datę w cywilizowanym formacie i nadal duże możliwości związane z jej formatowaniem.
Go to the top of the page
+Quote Post
-Guest-
post 6.09.2005, 14:27:03
Post #6





Goście







NO to jest rada.

Dzięki ogromne

Idę w tym kierunku.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:24