logo oujood
🔍

Fonction vfprintf() de PHP

OUJOOD.COM

La fonction vfprintf()


PHP references des fonctions PHP

 (PHP 5)

vfprintf() — Écrit une chaîne formatée dans un flux

La fonction vfprintf()

Définition et utilisation

La fonction vfprintf () écrit une chaîne formatée dans un flux de sorties spécifique (exemple : fichier ou base de données).

À la différence de la fonction  fprintf(), les arguments dans la fonction  vfprintf (), sont placés dans un tableau. Les éléments du tableau seront insérés après le signe  pour cent (%) dans la chaîne principale. Cette fonction fonctionne « pas par pas ». Au  premiers signes % , le premier élément du tableau est inséré, au deuxième signe % , le deuxième élément du tableau est inséré, etc.

Écrit une chaîne produite en accord avec le paramètre format dans le flux jet.

Agit de la même façon que fprintf() excepté que vfprintf() accepte un tableau d'arguments, plutôt qu'un nombre variant d'arguments.

La fonction vfprintf () renvoie la longueur de la chaîne écrite.

Syntaxe
  vfprintf (jet, format, argarray)
Paramètre Description

jet

Requis. Spécifie où écrire/produire la chaîne

format

Requis. Spécifie la chaîne et comment formater les variables dans la chaîne. Valeurs possibles du format :

  • %% - Renvoie un signe de pour cent
  • %b - Nombre binaire
  • %c - Le caractère selon la valeur d'ASCII
  • %d - Nombre décimal signé
  • %e - Notation scientifique (par exemple 1.2e+2)
  • %u - Nombre décimal non signé
  • %f - Nombre à virgule flottante (arrangements locaux avertis)
  • %F - Nombre à virgule flottante (arrangements non locaux avertis)
  • %o - Nombre octal
  • %s - Chaîne
  • %x - Nombre hexadécimal (lettres minuscules)
  • %X - Nombre hexadécimal (lettres majuscules)

Valeurs additionnelles de format. Celles-ci sont placées entre les % et la lettre (exemple %.2f) :

  • + (forces + et - devant des nombres. Par défaut, seulement des nombres négatifs sont marqués)
  • '(Spécifie quoi employer comme remplissage. Par défaut c’est l'espace. Doit être employé ainsi que le spécificateur de largeur. Exemple : % 'x20s (ceci emploie « x » comme remplissage)
  • - (Justifie gauche valeur variable)
  • [0-9] (spécifie la largeur minimum tenue  sur la valeur variable)
  • . [0-9] (spécifie le nombre de chiffres décimaux ou de longueur maximum de chaîne)
Note : Si des valeurs additionnelles multiples de format sont employées, elles doivent être dans le même ordre comme ci-dessus.

argarray

Requis. Un tableau avec des arguments de format à insérer aux signes % dans la chaîne


Exemple 1

Exemple :     📋 Copier le code

  <?php
  $chaine = "Hello";
  $number = 123;
  $file = fopen("test.txt","w");
  echo vfprintf($file,"%s world. Day number %u",array($chaine,$number));
  ?>

Le résultat du code ci-dessus sera :

  27

Le texte suivant sera écrit au dossier « test.txt » :

  Bonjour monde. Jour numéro 123


Exemple 2

Utilisation des textes d'attente :

Exemple :     📋 Copier le code

	<?php
	$number = 123;
	$file = fopen("test.txt", "w");
	vfprintf($file, "Avec 2 décimales: %1\$.2f\nsans décimales: %1\$u", array($number));
	fclose($file);
	?>

Le texte suivant sera écrit dans le fichier « test.txt » :

1
  Avec 2 décimales : 123.00
Sans décimales : 123

Ce code PHP utilise la fonction vfprintf pour formater une chaîne et l'écrire dans un fichier. Voici une explication détaillée du code :

$number = 123; : Une variable $number est déclarée et initialisée avec la valeur 123.

$file = fopen("test.txt", "w"); : Un fichier nommé "test.txt" est ouvert en mode écriture ("w"). Si le fichier n'existe pas, il sera créé. Si le fichier existe déjà, son contenu sera supprimé.

vfprintf($file, "Avec 2 décimales: %1\$.2f\nsans décimales: %1\$u", array($number)); : La fonction vfprintf est utilisée pour écrire une chaîne formatée dans le fichier ouvert. La chaîne de format contient deux parties :

"Avec 2 décimales: %1$.2f" : Cela spécifie que la valeur de la première variable dans le tableau (index 1) sera formatée en tant que nombre à virgule flottante avec 2 décimales.

"sans décimales: %1$u" : Cela spécifie que la même valeur (index 1) sera également affichée sans décimales.

fclose($file); : Une fois que l'écriture dans le fichier est terminée, le fichier est fermé avec la fonction fclose.

En résumé, ce script PHP écrit dans le fichier "test.txt" en utilisant la valeur de la variable $number avec deux formats différents : l'un avec deux décimales et l'autre sans décimales. Après l'exécution du script, le fichier "test.txt" contiendra la chaîne formatée selon les spécifications.

Par carabde 22 Aout 2014