Συνάρτηση printf() του PHP

Παράδειγμα

Εκτύπωση μορφοποιημένου κειμένου:

<?php
$number = 9;
$str = "Πεκίνο";
printf("Στο %s υπάρχουν 䦪τομμύρια ποδήλατα.",$str,$number);
?>

Run Instance

Ορισμός και χρήση

Η συνάρτηση printf() εκτυπώνει το μορφοποιημένο κείμενο.

arg1arg2arg++ Η παράμετρος θα εισαχθεί στο κύριο κείμενο στο σύμβολο τούμπανο (%) του. Η συνάρτηση εκτελείται σταδιακά. Στην πρώτη % σημαία, εισάγετε arg1,στην δεύτερη % σημαία, εισάγετε arg2,με βάση αυτό.

Σχόλιο:Αν το % σύμβολο είναι περισσότερο από arg Παράμετρος, τότε πρέπει να χρησιμοποιήσετε τούμπανο. Το τούμπανο εισάγεται μετά το % σύμβολο, και αποτελείται από αριθμό και "\$". Δείτε το παράδειγμα 2.

Συμβουλή:Συστάσεις: sprintf()、 vprintf()、 vsprintf()、 fprintf() και vfprintf()

Γλώσσα

printf(μορφοποίηση,arg1,arg2,arg++)
Παράμετρος Περιγραφή
μορφοποίηση

Απαιτείται. Ορίζει το κείμενο και τον τρόπο μορφοποίησης των μεταβλητών του

Πιθανές τιμές μορφοποίησης:

  • %% - Επιστροφή ενός τούμπανο %%
  • %b - Διςδικό αριθμός
  • %c - Γραμμάς που αντιστοιχεί στο ASCII
  • %d - Δεκαδικός αριθμός με σημείο και σημάδι θετικού ή αρνητικού (αρνητικός, 0, θετικός)
  • %e - Χρήση μικρών γραμμάτων στην επιστημονική καταγραφή (π.χ. 1.2e+2)
  • %E - Χρήση μεγάλων γραμμάτων στην επιστημονική καταγραφή (π.χ. 1.2E+2)
  • 蟭εκαδικός αριθμός χωρίς σημείο και σημάδι θετικού ή αρνητικού (μεγαλύτερος ή ίσος με 0)
  • %f - Πληθονοματικός αριθμός (τοπική ρύθμιση)
  • %F - Πληθονοματικός αριθμός (μη τοπική ρύθμιση)
  • %g - Κоротύτερος από %e και %f
  • %G - Κоротύτερος από %E και %f
  • %o - Οκταδικός αριθμός
  • %s - Κείμενο
  • %x - Δεκαεξαδικός αριθμός (με μικρά γράμματα)
  • %X - Δεκαεξαδικό αριθμός (με μεγάλα γράμματα)

Επιπλέον τιμές μορφοποίησης. Είναι απαραίτητο να τοποθετηθούν μεταξύ % και γραμμάτων (π.χ. %.2f):

  • + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记)
  • (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
  • - (Αριστερή στροφή της τιμής μεταβλητής)
  • .[0-9] (Ορίζει το ελάχιστο πλάτος της τιμής μεταβλητής)
  • .[0-9] (Ορίζει τον αριθμό των δεκαδικών ψηφίων ή το μέγιστο μήκος της αλληλουχίας)

Σχόλιο:Αν χρησιμοποιούνται πολλές από τις παραπάνω τιμές μορφοποίησης, πρέπει να χρησιμοποιούνται ακολουθώντας τη σειρά που αναφέρεται παραπάνω, χωρίς να μπερδεύονται.

arg1 Απαιτητική. Ορίζει τοποθέτηση μορφοποίηση στο πρώτο %% της αλληλουχίας.
arg2 Απαιτητική. Ορίζει τοποθέτηση μορφοποίηση στο δεύτερο %% της αλληλουχίας.
arg++ Προαιρετική. Ορίζει τοποθέτηση μορφοποίηση Οι παράμετροι στο τρίτο, τέταρτο κ.λπ. %% του συμβόλου %% της αλληλουχίας.

Τεχνικά λεπτομέρειες

Αποτελεσματική τιμή: Επιστρέφει το μήκος της αλληλουχίας που θα εκτυπωθεί.
Έκδοση PHP: 4+

Περισσότερες περιπτώσεις

Παράδειγμα 1

Χρήση τιμής μορφοποίησης %%f:

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

Run Instance

Παράδειγμα 2

Χρήση ετικετών:

<?php
$number = 123;
printf("Με δύο δεκαδικά ψηφία:%1$.2f<br>Χωρίς δεκαδικά ψηφία:%1$u", $number);
?>

Run Instance

Παράδειγμα 3

Παρουσίαση όλων των δυνατών τιμών μορφοποίησης:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Ο χαρακτήρας ASCII 50 είναι 2
// Σχόλιο: Η τιμή μορφοποίησης "%%" επιστρέφει το σύμβολο %%
printf("%%b = %%b <br>", $num1); // Αριθμός σε δυαδικό
printf("%%c = %%c <br>", $char); // ASCII χαρακτήρας
printf("%%d = %%d <br>", $num1); // Πоложительный δεκαδικός αριθμός με σημείο
printf("%%d = %%d <br>", $num2); // Αρνητικός δεκαδικός αριθμός με σημείο
printf("%%e = %%e <br>", $num1); // Επιστημονική εκτίμηση (με μικρό e)
printf("%%E = %%E <br>", $num1); // Επιστημονική εκτίμηση (με μεγάλο E)
printf("%鑾闫>", $num1); // Πоложительный δεκαδικός αριθμός χωρίς σημείο
printf("%鑾闫>", $num2); // Αρνητικός δεκαδικός αριθμός χωρίς σημείο
printf("%%f = %%f <br>", $num1); // Διακριτικός αριθμός (με βάση τη τοπική ρύθμιση)
printf("%%F = %%F <br>", $num1); // Διακριτικός αριθμός (μη εμφανίζεται η τοπική ρύθμιση)
printf("%%g = %%g <br>", $num1); // Μικρότερο από %%e και %%f
printf("%%G = %G <br>", $num1); // Shorter than %E and %f
printf("%%o = %o <br>", $num1); // Octal number
printf("%%s = %s <br>", $num1); // String
printf("%%x = %x <br>", $num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>", $num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>", $num1); // Sign specifier (positive)
printf("%%+d = %+d <br>", $num2); // Sign specifier (negative)
?>

Run Instance

Example 4

Demonstration of string identifiers:

<?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);
?>

Run Instance