52794 skanuj0155 (10)

52794 skanuj0155 (10)



166 PHP i MySQL dla każdego

166 PHP i MySQL dla każdego

Rysunek 6.6.

Wynik działania skryptu

wykorzystującego różne kody formatujące


Płk £dyc)a aidok Przejdź^ Zakładki Narzędzia Pomoc

tś    - r~ http://localhost/index.php

Rozpocznll przygód... . Aktualnodd

Wartość 15, ciąg formatujący %’03d:

015

Wartość 15, ciąg formatujący %’_-3d:

15_

Wartość 10.454647, ciąg formatujący %.2£

10.45

Wartość 10.454647, ciąg formatujący %’06.2f:

010.455

pod $d zostanie wstawiona wartość zmiennej liczba, a pod Xs wartość zmiennej napis. Problem powstaje wówczas, gdy zamierzamy zmienić kolejność argumentów, ale nie chcemy zmieniać kodu. Do takiej sytuacji może dojść wtedy, gdy np. ciąg formatujący jest zapisywany w oddzielnym pliku. Zmianę kolejności uzyskujemy dzięki zastosowaniu konstrukcji:

£numer/Skod

Jeśli np. interesuje nas wartość drugiego argumentu, która ma zostać przedstawiona jako wartość dziesiętna, trzeba zastosować ciąg:

*2/Sd

Na listingu 6.8 widoczny jest kod ilustrujący opisywany problem. Efekt działania kodu został natomiast przedstawiony na rysunku 6.7.

Listing 6.8. Zmiana kolejności argumentów w ciągach formatujących <?php

Sformatl = "Liczba ma wartość %d. napis ma wartość *s":

$format2 = “Napis ma wartość Xs. liczba ma wartość £d":

Sformat3 - "Napis ma wartość *2\Ss. liczba ma wartość *l\Sd":

$1iczba = 100;

printf(Sformatl.

$1iczba.

Snapis):

echo("<br>"):

printf($format2.

$1

czba.

Snapis):

echo("<br>"):

printf($format3.

$1

czba.

Snapis):


Snapis = "abcd":

Ciągi formatujące zostały zapisane w zmiennych formatl, format2 i format3. W ciągu format 1 pierwszym parametrem jest wartość całkowita, a drugim parametrem łańcuch znaków. W ciągu format2 jest odwrotnie, kolejność została zamieniona (np. ze względów stylistycznych). Oznacza to, że każdy z tych przypadków wymaga innej kolejności argumentów w instrukcji printf. Jeśli kolejność argumentów nie zostanie zmieniona, tak jak na listingu, otrzymamy nieprawidłowe wyniki. Jeśli nie chcemy lub nie możemy


Wyszukiwarka

Podobne podstrony:
skanuj0149 (10) 160 PHP i MySQL dla każdego ♦     — znak powrotu karetki (z ang. car
46410 skanuj0147 (10) 158 PHP i MySQL dla każdego Zmienna liczba = Sliczba, a zmienna ciąg = Sciag.
skanuj0153 (11) 164 PHP i MySQL dla każdego 164 PHP i MySQL dla każdego Rysunek 6.5. Efekt działania
33406 skanuj0094 (33) 106 PHP i MySQL dla każdego Rysunek 4.3. Ilustracja działania E* Łdyda widok
32018 skanuj0028 (163) 40 PHP i MySQL dla każdego Rysunek 2.8. Wyniki działania funkcji gettype Pik
skanuj0220 (3) Rozdział 8. ♦ Cookies i sesje 233 Rozdział 8. ♦ Cookies i sesje 233 Rysunek 8.5. Wy
skanuj0284 (3) 298 PHP i MySQL dla każdego Wynik działania takiego zapytania został przedstawiony na

więcej podobnych podstron