PHP printf() functie

Voorbeeld

Geformatteerde string uitvoeren:

<?php
$number = 9;
$str = "Peking";
printf("In %s zijn er 쥕joen fietsen.", $str, $number);
?>

Uitvoer voorbeeld

Definitie en gebruik

De printf() functie geeft een geformatteerde string uit.

arg1arg2arg++ Parameters worden ingesprongen in de hoofdstring op de plaats van het procentteken (%). Deze functie voert stapsgewijs uit. Bij het eerste %-teken, voeg toe arg1,voeg toe arg2,enzovoort.

Opmerking:Als er meer dan arg Als er parameters zijn, moet je een placeholder gebruiken. Een placeholder wordt geplaatst achter het %-teken, samengesteld uit een getal en "\$". Zie voorbeeld 2.

Tip:Gerelateerde functies: sprintf(), vprintf(), vsprintf(), fprintf() en vfprintf()

Syntax

printf(format,arg1,arg2,arg++)
Parameter Beschrijving
format

Verplicht. Bepaal de string en hoe de variabelen ervan geformatteerd moeten worden.

Mogelijke formatwaarden:

  • %% - Geef een procentteken (%) terug
  • %b - Binair getal
  • %c - ASCII-waarde van het bijbehorende karakter
  • %d - Decimaal getal met teken (negatief, 0, positief)
  • %e - Gebruik kleine letters in wetenschappelijke notatie (bijvoorbeeld 1.2e+2)
  • %E - Gebruik hoofdletters in wetenschappelijke notatie (bijvoorbeeld 1.2E+2)
  • 蒝ecimaal getal zonder teken (groter dan of gelijk aan 0)
  • %f - Floating-point nummer (lokaal ingesteld)
  • %F - Floating-point nummer (niet lokaal ingesteld)
  • %g - Korter dan %e en %f
  • %G - Korter dan %E en %f
  • %o - Octaal getal
  • %s - String
  • %x - Hexadecimaal getal (kleine letters)
  • %X - Hexadecimaal getal (hoofdletters)

Aanvullende formatwaarden. Deze moeten worden geplaatst tussen % en een letter (bijvoorbeeld %.2f):

  • + (Voeg een + of - toe aan het begin van een getal om de positieve of negatieve aard ervan te definiëren. Standaard worden alleen negatieve getallen gemarkeerd, niet-negatieve niet.)
  • Gebruik wat als vulling (standaard is een spatiesleutel). Dit moet samen met de breedteindicator worden gebruikt.
  • - (links uitlijnen van de variabele)
  • .[0-9] (bepaalt de minimale breedte van de variabele)
  • .[0-9] (bepaalt het aantal decimalen of de maximale stringlengte)

Opmerking:Als meerdere van de bovenstaande formatteervaardigheden worden gebruikt, moeten ze in de bovenstaande volgorde worden gebruikt en mogen ze niet worden verstoord.

arg1 Verplicht. Bepaalt wat wordt ingespoten format Parameters op de eerste %-symbool in de string.
arg2 Verplicht. Bepaalt wat wordt ingespoten format Parameters op de tweede %-symbool in de string.
arg++ Optioneel. Bepaalt wat wordt ingespoten format Parameters op de derde, vierde, enz. %-symbolen in de string.

Technische details

Retournerend waarde: Retourneert de lengte van de string die wordt weergegeven.
PHP-versie: 4+

Meer voorbeelden

Voorbeeld 1

Gebruik van formatteervaardigheid %f:

<?php
$number = 123;
printf("%f",$number);
?>

Uitvoer voorbeeld

Voorbeeld 2

Gebruik van placeholders:

<?php
$number = 123;
printf("Met twee decimalen:%1\$.2f<br>Geen decimalen:%1\$u",$number);
?>

Uitvoer voorbeeld

Voorbeeld 3

Demonstratie van alle mogelijke formatteerwaarden:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII-teken 50 is 2
// Opmerking: Formatteerwaarde "%%" retourneert een procentteken
printf("%%b = %b <br>",$num1); // Binaire getallen
printf("%%c = %c <br>",$char); // ASCII-teken
printf("%%d = %d <br>",$num1); // Gezeikte decimale getallen
printf("%%d = %d <br>",$num2); // Gezeikte decimale getallen
printf("%%e = %e <br>",$num1); // Wetenschappelijke notatie (kleine letter)
printf("%%E = %E <br>",$num1); // Wetenschappelijke notatie (hoofdletter)
printf("%鑾u <br>",$num1); // Ongezeikte decimale getallen (positief)
printf("%鑾u <br>",$num2); // Ongezeikte decimale getallen (negatief)
printf("%%f = %f <br>",$num1); // Floating point (afhankelijk van lokale instellingen)
printf("%%F = %F <br>",$num1); // Floating point (niet afhankelijk van lokale instellingen)
printf("%%g = %g <br>",$num1); // Korter dan %e en %f
printf("%%G = %G <br>", $num1); // Korter dan %E en %f
printf("%%o = %o <br>", $num1); // Octaal
printf("%%s = %s <br>", $num1); // String
printf("%%x = %x <br>", $num1); // Hexadecimaal (kleine letters)
printf("%%X = %X <br>", $num1); // Hexadecimaal (hoofdletters)
printf("%%+d = %+d <br>", $num1); // Tekenspecificatie (positief)
printf("%%+d = %+d <br>", $num2); // Tekenspecificatie (negatief)
?>

Uitvoer voorbeeld

Voorbeeld 4

Demonstratie van stringaantekeningen:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
printf("[%s]<br>", $str1);
printf("[%8s]<br>", $str1);
printf("[%-8s]<br>", $str1);
printf("[%08s]<br>", $str1);
printf("[%'*8s]<br>", $str1);
printf("[%8.8s]<br>", $str2);
?>

Uitvoer voorbeeld