PHP vprintf() functie
Voorbeeld
Geformatteerde string weergeven:
<?php $number = 9; $str = "Beijing"; vprintf("Er zijn 쥕joen fietsen in %s.", array($number, $str)); ?>
Definitie en gebruik
De vprintf() functie voert een geformatteerde string uit.
Verschilt van printf(), de parameters in vprintf() bevinden zich in een array. Array-elementen worden ingevoegd op de plek van het hoofdteken (%%) in de hoofdstring. Deze functie wordt stapsgewijs uitgevoerd. Bij het eerste %%-teken wordt het eerste array-element ingevoegd, bij het tweede %%-teken het tweede array-element, enz.
Opmerking:Als er meer %-symbolen zijn arg Als er parameters zijn, moet u een placeholder gebruiken. Placeholders worden geplaatst achter het %-teken, bestaande uit een getal en "\$". Zie voorbeeld 2.
Tip:Gerelateerde functies: sprintf(), printf(), vsprintf(), fprintf() en vfprintf()
Syntax
vprintf(Format,argarray)
Parameter | Beschrijving |
---|---|
Format |
Verplicht. Bepaalt de string en hoe de variabelen ervan worden geformatteerd. Mogelijke formatiewaarden:
Aanvullende formatiewaarden. Moet worden geplaatst tussen % en een letter (bijvoorbeeld %.2f):
Opmerking:Als er meerdere formatwaarden worden gebruikt, moeten ze in de hierboven vermelde volgorde worden gevolgd. |
argarray | Verplicht. Een array met parameters, die worden ingesprokkeld Format Op de plaats van de %-teken in de string. |
Technische details
Retourwaarde: | Geef de lengte van de string die wordt weergegeven terug. |
PHP-versie: | 4.1.0+ |
Meer voorbeelden
Voorbeeld 1
Gebruik van formatwaarde %f:
<?php $num1 = 123; $num2 = 456; vprintf("%f%f",array($num1,$num2)); ?>
Voorbeeld 2
Gebruik van placeholders:
<?php $number = 123; vprintf("Met twee decimalen:%1\$.2f<br>Zonder decimalen:%1\$u",array($number)); ?>
Voorbeeld 3
Gebruik printf() om alle mogelijke formatwaarden te demonstreren:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII-teken 50 is 2 // Opmerking: Formaatwaarde "%%" retourneert een procentteken printf("%%b = %b <br>",$num1); // Binaire getal printf("%%c = %c <br>",$char); // ASCII-teken printf("%%d = %d <br>",$num1); // Getekend decimaal printf("%%d = %d <br>",$num2); // Getekend decimaal printf("%%e = %e <br>",$num1); // Wetenschappelijke notatie (kleine letter) printf("%%E = %E <br>",$num1); // Wetenschappelijke notatie (hoofdletter) printf("%鑾u <br>",$num1); // Ongetekend decimaal (positief) printf("%鑾u <br>",$num2); // Ongetekend decimaal (negatief) printf("%%f = %f <br>",$num1); // Float (afhankelijk van lokale instellingen) printf("%%F = %F <br>",$num1); // Float (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); // Octaalgetal 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); // Tekenaanduiders (positief) printf("%%+d = %+d <br>",$num2); // Tekenaanduiders (negatief) ?>
Voorbeeld 4
Demonstratie van stringaanduiders:
<?php $str1 = "Hello"; $str2 = "Hello world!"; vprintf("[%s]<br>",array($str1)); vprintf("[%8s]<br>",array($str1)); vprintf("[%-8s]<br>",array($str1)); vprintf("[%08s]<br>",array($str1)); vprintf("[%'*8s]<br>",array($str1)); vprintf("[%8.8s]<br>",array($str2)); ?>