Συνάρτηση vfprintf

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

Σύνταξη

phpvfprintf(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<?php
  $file = fopen('output.txt', 'w');
  $values = [10, 20.5, 'test'];
  vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
  fclose($file);
?>

Περιεχόμενο του αρχείου output.txt:

php'Number: 10, Float: 20.50, String: test'

Παράδειγμα

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

php<?php
  $res = fopen('php://output', 'w');
  $data = [15, 12.3456, 'ABCDE'];
  vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
  fclose($res);
?>

Αποτέλεσμα εξόδου:

php'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''

Δείτε επίσης

  • τη συνάρτηση fprintf,
    που μορφοποιεί μια συμβολοσειρά και γράφει σε ροή
  • τη συνάρτηση sprintf,
    που επιστρέφει μια μορφοποιημένη συμβολοσειρά
  • τη συνάρτηση vsprintf,
    που λειτουργεί όπως η sprintf, αλλά δέχεται πίνακα ορισμάτων