Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: str_split() w php 4
Forum PHP.pl > Forum > Przedszkole
norbas
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?
nospor
  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
tiraeth
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?
Guest
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?
mike
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.
Guest
NO to jest rada.

Dzięki ogromne

Idę w tym kierunku.
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.