Συνάρτηση vsprintf

Η συνάρτηση vsprintf είναι ανάλογη της sprintf, αλλά δέχεται ορίσματα σε μορφή πίνακα, και όχι ως μεταβλητός αριθμός παραμέτρων. Η πρώτη παράμετρος είναι μια συμβολοσειρά-πρότυπο με προσδιοριστές μορφής, η δεύτερη - ένας πίνακας τιμών για αντικατάσταση. Στη συμβολοσειρά μορφής χρησιμοποιούνται ειδικοί χαρακτήρες (προσδιοριστές μορφής), που ξεκινούν με το σύμβολο % και ελέγχουν τη μορφοποίηση της εξόδου.

Σύνταξη

phpvsprintf(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<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'Hello John! Today is Monday.'

Παράδειγμα

Χρήση διαφορετικών προσδιοριστών μορφής:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'2023-05-12'

Παράδειγμα

Εργασία με αριθμούς κινητής υποδιαστολής:

php<?php
  $res = vsprintf('Price: $%.2f', [19.99]);
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'Price: $19.99'

Δείτε επίσης

  • τη συνάρτηση sprintf,
    που μορφοποιεί μια συμβολοσειρά με μεταβλητό αριθμό ορισμάτων
  • τη συνάρτηση printf,
    που εμφανίζει μια μορφοποιημένη συμβολοσειρά