Συνάρτηση vfprintf
Η συνάρτηση vfprintf γράφει μια συμβολοσειρά, μορφοποιημένη σύμφωνα με τους προσδιοριστές, σε μια ροή αρχείου. Ως πρώτη παράμετρο δέχεται έναν πόρο αρχείου, ως δεύτερη - μια συμβολοσειρά μορφής, ως τρίτη - έναν πίνακα ορισμάτων για αντικατάσταση. Στη συμβολοσειρά μορφής χρησιμοποιούνται ειδικοί χαρακτήρες (προσδιοριστές μορφής), που ξεκινούν με το σύμβολο % και ελέγχουν τη μορφοποίηση της εξόδου.
Σύνταξη
vfprintf(resource $handle, string $format, array $args): int
Προσδιοριστές μορφής
| Προσδιοριστής | Περιγραφή |
|---|---|
%s |
Συμβολοσειρά |
%d |
Ακέραιος αριθμός με πρόσημο (δεκαδικός) |
%u |
Ακέραιος αριθμός χωρίς πρόσημο (δεκαδικός) |
%f |
Αριθμός κινητής υποδιαστολής (εξαρτώμενος από τοπικές ρυθμίσεις) |
%F |
Αριθμός κινητής υποδιαστολής (μη εξαρτώμενος από τοπικές ρυθμίσεις) |
%c |
Χαρακτήρας κατά κωδικό ASCII |
%x |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (πεζά γράμματα) |
%X |
Ακέραιος αριθμός σε δεκαεξαδικό σύστημα (κεφαλαία γράμματα) |
%o |
Ακέραιος αριθμός σε οκταδικό σύστημα |
%b |
Ακέραιος αριθμός σε δυαδικό σύστημα |
%e |
Επιστημονική σημειογραφία (πεζά γράμματα) |
%E |
Επιστημονική σημειογραφία (κεφαλαία γράμματα) |
%g |
Σύντομη μορφή %e ή %f |
%G |
Σύντομη μορφή %E ή %F |
%% |
Σύμβολο ποσοστού |
Παράδειγμα
Εγγραφή μορφοποιημένης συμβολοσειράς σε αρχείο:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Περιεχόμενο του αρχείου output.txt:
'Number: 10, Float: 20.50, String: test'
Παράδειγμα
Χρήση διαφορετικών προσδιοριστών:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Αποτέλεσμα εξόδου:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''