Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Dodawanie 1 do 000
Forum PHP.pl > Forum > Przedszkole
kaszanka
hi,

Otóż mam taki problem i nie bardzo wiem jak to rozwiązać:

Mam zapis liczbowy w postaci 000 i gdy w php dodaje (jako licznik w pętli) $ile++ to zamiast wyniku 001 ... 002... 003 mam samo 1... 2 ... 3 (obciana zera na początku).
Jak to zrobić aby zapisywało: 001, 002, 003?

A tak w ogóle to bardziej wydajne jest trzymać tą liczbę w pliku tekstowym czy bazie danych (co szybsze)?
Hazel
Jasne że w bazie.
  1. <?php
  2. if (strlen($ile)==1)
  3. {
  4. $ile = '00'.$ile;
  5. }
  6. else if (strlen($ile)==2)
  7. {
  8. $ile = '0'.$ile;
  9. }
  10. ?>


P.S. Strasznie toporny kod, ale co ja na to poradzę, że nie mam pomysłu na lepszy? tongue.gif
Można jeszcze zapętlać ilość zer, ale przy liczbie zer 1 lub 2 to też jest toporne tongue.gif
JaRoPHP
  1. <?php
  2. sprintf("%03d",  $i);
  3. ?>

Dla przykładu:
  1. <?php
  2. for($i = 0; $i < 11; $i++) {
  3. printf("%03d<br />",  $i);
  4. }
  5. ?>
Output:
Cytat
000
001
002
003
004
005
006
007
008
009
010
Poczytaj o różnicy pomiędzy funkcjami: printf" title="Zobacz w manualu PHP" target="_manual i sprintf" title="Zobacz w manualu PHP" target="_manual

Cytat
A tak w ogóle to bardziej wydajne jest trzymać tą liczbę w pliku tekstowym czy bazie danych (co szybsze)?
No to już zależy co będzie dalej system robił...
kaszanka
Dziękuje #JaRoPHP zastosowałem
  1. <?php
  2. printf("%03d<br />",  $i);
  3. ?>
i działa super smile.gif
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.