Συνάρτηση sprintf
Η συνάρτηση sprintf μορφοποιεί μια συμβολοσειρά σύμφωνα με το καθορισμένο πρότυπο και επιστρέφει το αποτέλεσμα. Ως πρώτη παράμετρο δέχεται μια συμβολοσειρά μορφοποίησης, οι επόμενες παράμετροι - τιμές για αντικατάσταση. Στη συμβολοσειρά μορφοποίησης χρησιμοποιούνται ειδικοί χαρακτήρες (προσδιοριστές μορφοποίησης), που ξεκινούν με το σύμβολο % και ελέγχουν τη μορφοποίηση της εξόδου.
Σύνταξη
sprintf(format, arg1, arg2, ...);
Προσδιοριστές μορφοποίησης
| Προσδιοριστής | Περιγραφή |
|---|---|
%s |
Συμβολοσειρά |
%d |
Ακέραιος αριθμός με πρόσημο (δεκαδικός) |
%u |
Ακέραιος αριθμός χωρίς πρόσημο (δεκαδικός) |
%f |
Αριθμός κινητής υποδιαστολής (εξαρτώμενος από το locale) |
%F |
Αριθμός κινητής υποδιαστολής (μη εξαρτώμενος από το locale) |
%c |
Χαρακτήρας σύμφωνα με κωδικό ASCII |
%x |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (πεζά γράμματα) |
%X |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (κεφαλαία γράμματα) |
%o |
Ακέραιος αριθμός σε οκταδικό σύστημα |
%b |
Ακέραιος αριθμός σε δυαδικό σύστημα |
%e |
Επιστημονική σημειογραφία (πεζά γράμματα) |
%E |
Επιστημονική σημειογραφία (κεφαλαία γράμματα) |
%g |
Σύντομη μορφή %e ή %f |
%G |
Σύντομη μορφή %E ή %F |
%% |
Σύμβολο ποσοστού |
Παράδειγμα
Μορφοποίηση συμβολοσειράς με αντικατάσταση ακέραιου αριθμού:
<?php
$res = sprintf("There are %d apples", 5);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'There are 5 apples'
Παράδειγμα
Μορφοποίηση με πολλαπλές αντικαταστάσεις:
<?php
$res = sprintf("%s has %d points", "John", 120);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'John has 120 points'
Παράδειγμα
Μορφοποίηση αριθμών κινητής υποδιαστολής:
<?php
$res = sprintf("Price: $%.2f", 12.356);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Price: $12.36'