Συνάρτηση vsprintf
Η συνάρτηση vsprintf είναι ανάλογη της sprintf, αλλά δέχεται ορίσματα σε μορφή πίνακα,
και όχι ως μεταβλητός αριθμός παραμέτρων. Η πρώτη παράμετρος είναι μια συμβολοσειρά-πρότυπο με
προσδιοριστές μορφής, η δεύτερη - ένας πίνακας τιμών για αντικατάσταση. Στη συμβολοσειρά μορφής χρησιμοποιούνται ειδικοί χαρακτήρες (προσδιοριστές μορφής), που ξεκινούν με το σύμβολο % και ελέγχουν τη μορφοποίηση της εξόδου.
Σύνταξη
vsprintf(string $format, array $args);
Προσδιοριστές Μορφής
| Προσδιοριστής | Περιγραφή |
|---|---|
%s |
Συμβολοσειρά |
%d |
Ακέραιος αριθμός με πρόσημο (δεκαδικός) |
%u |
Ακέραιος αριθμός χωρίς πρόσημο (δεκαδικός) |
%f |
Αριθμός κινητής υποδιαστολής (εξαρτάται από το locale) |
%F |
Αριθμός κινητής υποδιαστολής (δεν εξαρτάται από το locale) |
%c |
Χαρακτήρας σύμφωνα με ASCII-κωδικό |
%x |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (πεζά γράμματα) |
%X |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (κεφαλαία γράμματα) |
%o |
Ακέραιος αριθμός σε οκταδικό σύστημα |
%b |
Ακέραιος αριθμός σε δυαδικό σύστημα |
%e |
Επιστημονική σημειογραφία (πεζά γράμματα) |
%E |
Επιστημονική σημειογραφία (κεφαλαία γράμματα) |
%g |
Σύντομη μορφή %e ή %f |
%G |
Σύντομη μορφή %E ή %F |
%% |
Σύμβολο ποσοστού |
Παράδειγμα
Βασικό παράδειγμα μορφοποίησης συμβολοσειράς με αντικατάσταση τιμών:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Hello John! Today is Monday.'
Παράδειγμα
Χρήση διαφορετικών προσδιοριστών μορφής:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'2023-05-12'
Παράδειγμα
Εργασία με αριθμούς κινητής υποδιαστολής:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Price: $19.99'