Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP String vfprintf() Function



The PHP String vfprintf() function is used to write a string created using format to the stream resource defined by stream. This function works similarly to fprintf(), but takes an array of parameters rather than a variable number of arguments.

Syntax

Below is the syntax of the PHP String vfprintf() function −

int vfprintf ( resource $stream, string $format, array $values )

Parameters

Here are the parameters of the vfprintf() function −

  • $stream − (Required) It is used to specify where to write or output the string.

  • $format − (Required) It is used to specify the string and how to format the variables within it.

  • $values − (Required) It is an array of arguments to be put between the% signs in the format string.

Return Value

The vfprintf() function returns the length of the written string.

Errors/Exceptions

Here are the errors and exceptions listed below −

  • If the number of arguments is zero, a ValueError is thrown (since PHP 8.0.0). Prior to PHP 8.0.0, an E_WARNING was issued instead.

  • PHP 8.0.0 throws a ValueError if [width] is less than zero or greater than PHP_INT_MAX. Prior to PHP 8.0.0, an E_WARNING was issued instead.

  • PHP 8.0.0 throws a ValueError if [precision] is less than zero or greater than PHP_INT_MAX. Prior to PHP 8.0.0, an E_WARNING was issued instead.

  • When fewer arguments are provided than are required, a ValueError is thrown. Prior to PHP 8.0.0, false was returned, and an E_WARNING was issued instead.

PHP Version

First introduced in core PHP 5, the vfprintf() function continues to function easily in PHP 7, and PHP 8.

Example 1

Here is the basic example of the PHP String vfprintf() function to write a string with placeholders into the given file. The data will be replaced with the help of the $values array.

<?php
   // Open a file for writing
   $file = fopen("/PHP/PhpProjects/myfile1.txt", "w");

   // Data to be written
   $format = "Hello, %s! You are %d years old.";
   $values = ["Amit", 25];

   // Use vfprintf() to write formatted data to the file
   vfprintf($file, $format, $values);

   // Close the file
   fclose($file);

   echo "Data written to myfile1.txt successfully.";
?>

Output

Here is the outcome of the following code −

Data written to myfile.txt successfully.

Example 2

In the below PHP code we will try to use the vfprintf() function and write multiple formatted lines in the given file.

<?php
   // Open a file for writing
   $file = fopen("/PHP/PhpProjects/myfile2.txt", "w");

   // Define format and data
   $format = "Name: %s, Age: %d, City: %s\n";
   $data = [
      ["Amit", 30, "New Delhi"],
      ["Priya", 22, "Mumbai"],
      ["Lokesh", 35, "Hyderabad"]
   ];

   // Loop through data and write each line to the file
   foreach ($data as $values) {
      vfprintf($file, $format, $values);
   }

   // Close the file
   fclose($file);

   echo "Multiple lines written to myfile2.txt.";
?> 

Output

This will generate the below output −

Multiple lines written to myfile2.txt.

Example 3

Now the below code writes a formatted string to the browser or terminal output using the vfprintf() function.

<?php
   // Use the standard output stream 
   $format = "Welcome %s! Your balance is Rs.%.2f\n";
   $values = ["Shekhar", 123400.56];

   // Write directly to the output stream
   vfprintf(STDOUT, $format, $values);
?> 

Output

This will create the below output −

Welcome Shekhar! Your balance is Rs.123400.56
php_function_reference.htm
Advertisements