printf w PHP

Funkcja printf w PHP wyświetla wartości zmiennych podanych jako argumenty funkcji w odpowiednim formacie.

Składnia

printf(string $format [, $wartosc-1[, ... wartosc-N]]: int)

Parametry

ParametrOpis
$format

Format w postaci:

%[znak]['wypełnienie][-][długość][.precyzja]kod

  • Znak % określa początek ciągu formatującego, pod którego podstawiany jest argument (przykład 1 i 2);
  • znak - oznacza + lub - (przykład 2);
  • wypełnienie - znak, jaki ma zostać użyty do wypełnienia (patrz przykład 1);
  • wyrównanie - znak "-" oznacza wyrównanie do lewej, pominięcie minusa oznacza wyrównanie do prawej (przykład 1);
  • długość - z ilu znaków ma się składać ciąg wynikowy (przykład 1);
  • precyzja - liczba miejsc po przecinku dla liczb rzeczywistych (przykład 2);
  • kod - kod formatujący podany w poniższej tabeli (przykład 1 i 2);

Kody formatujące

Kod Opis
% znak % pozwala wyświetlić znak procentu
b typ całkowity w postaci binarnej
c typ całkowity w kodzie ASCII
d typ całkowity ze znakiem
e notacja wykładnicza
E notacja wykładnicza (naukowa)
f typ rzeczywisty z ustawieniami narodowymi
F typ rzeczywisty bez ustawień narodowych
o typ całkowity w postaci ósemkowej
s typ łańcuchowy (string)
u typ całkowity jako liczba dziesiętna bez znaku
x typ całkowity w postaci szesnastkowej z małymi literami od a do f
X typ całkowity w postaci szesnastkowej z wielkimi literami A-F

 

Konstrukcja tej funkcji wydaje się skomplikowana. Czas więc na przykłady:

Przykład 1

<?php
printf ("Format %%f (rzeczywisty zmiennopozycyjny)  dla liczby -16 = %f <br>",-16);
printf ("Format %%X (szesnastkowy) dla liczby 255 - %X <br>",255);
printf ("Format %%d (całkowity ze znakiem) dla liczby -16 i 16 : %d i %d <br>",-16, 16);
printf ("Format %%e (wykładniczy) dla liczb:<br> 1000000 = %e <br> 0.000001 = %e<br>",1000000,0.000001); ?>

Wyjaśnienie działania skryptu.

W pierwszej linii wyświetlany jest tekst, który ujęty jest w cudzysłów, jednak w miejsce %f wstawiana jest wartość podana jako drugi argument funkcji, czyli liczba 16. Format %f oznacza wyświetlenie argumentu w postaci liczby rzeczywistej. W miejsce %f interpreter wstawia więc wartość -16.000000. Wyjaśnienia wymaga jeszcze zapis %%f. Pozwala on zignorować kolejny znak formatowania % i zwyczajnie wyświetlić znak procentu w oknie przeglądarki.

W drugiej linii używamy tylko innego znaku formatowania. W miejsce %X interpreter PHP wstawia kolejny argument funkcji, czyli liczbę 255 i wyświetla ją w postaci szesnastkowej, czyli FF.

W trzeciej linii użyliśmy dwóch znaków formatowania, pierwszego %d dla pierwszego z kolejnych argumentów (liczby -16) i drugiego %d dla ostatniego z argumentów (liczby 16). Używając kolejno znaków formatowania interpreter podstawia wartości kolejnych argumentów, formatując je odpowiednio.

W linii czwartej mamy podobny przykład, ale używamy dwa razy znaku formatowania %e, czyli zapisu wykładniczego.

Przykład 2

A oto kilka innych, bardziej skomplikowanych przykładów ujętych w różnych wierszach skryptu:

<?php
printf ("Format %%'06d  dla liczby 16 i 1666: <br> %'06d <br> %'06d",16,1666);
printf ("<br><br>Format %%'_-6d dla liczby 16 i 1666: <br> %'_-6d <br> %'_-6d",16,1666);
printf ("<br><br>Format %%.3f dla liczby 16.1666: %.3f",16.1666);
printf ("<br><br>Format %%X dla działania 16x16-1 w postaci szesnastkowej: %X",16*16-1);
printf("<br><br>Format %%+d dla liczby 16 = %+d", 16);
printf("<br>Format %%+d dla liczby -16 = %+d", -16); ?>

Jak działa skrypt?

W pierwszej linii użyliśmy znaku apostrofu do określenia znaku wypełnienia. Używamy zera ('0), a następnie określamy z ilu znaków ma się zakładać ciąg (6) i w formacie "d" (typ całkowity ze znakiem). Zastosowaliśmy dwa identyczne formatowania, mamy dwa argumenty, które kolejno są podstawiane pod te ciągi formatowania.

W drugiej linii zamiast zera użyliśmy znaku podkreślenia do znaku wypełnienia. Używając znaku minusa wyrównujemy ciąg znaków do lewej.

W trzeciej linii po kropce podajemy precyzję, czyli liczbę cyfr po przecinku dla liczby rzeczywistej. Zauważ, że wynik jest zaokrąglany.

W czwartej linii używamy działania jako argumentu i przedstawiamy go w postaci liczby szesnastkowej.

W piątej i szóstej linii skryptu pokazujemy w jaki sposób wyświetlać liczby ze znakami "+" i "-".





© medianauka.pl, 2021-11-01, A-4224



©® Media Nauka 2008-2023 r.