logo

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, ART-4224





Polecamy w naszym sklepie

laboratorium w szufladzie Modelarstwo i robotyka
50 idei, które powinieneś znać - Nauki ścisłe
Kolorowe skarpetki - football piłka nożna
Badania jako podstawa projektowania User Experience
kolorowe skarpetki góra lodowa
Niektóre treści nie są dostosowane do Twojego profilu. Jeżeli jesteś pełnoletni możesz wyrazić zgodę na przetwarzanie swoich danych osobowych. W ten sposób będziesz miał także wpływ na rozwój naszego serwisu.
© ® Media Nauka 2008-2022 r.