PHP Network headers_list() Function
The PHP Network headers_list() function is used to provides a list of headers that are ready to be sent to the client or browser. Bits of information known as headers are sent along with the server's response. For example, they might provide details about cookies or the type of content.
This function is useful if you want to verify which headers are set before sending them. As it does not require any arguments, it is simple to use. The function returns an array with all of the headers. To find out if headers have already been delivered, use the headers_sent() function. This is supported by PHP versions 5, 7, and 8.
Syntax
Below is the syntax of the PHP Network headers_list() function −
array headers_list ();
Parameters
This function does not accept any parameter.
Return Value
The headers_list() function returns an array with all the headers.
PHP Version
First introduced in core PHP 5, the headers_list() function continues to function easily in PHP 7, and PHP 8.
Example 1
This PHP program sets a simple header and uses the PHP Network headers_list() to show the list of headers that are ready to be sent to the browser.
<?php
// Set a custom header
header("Custom-Header: MyHeaderValue");
// Display the list of headers
print_r(headers_list());
?>
Output
Here is the outcome of the following code −
Array ( [0] => X-Powered-By: PHP/8.0.2 [1] => Custom-Header: MyHeaderValue )
Example 2
In the below PHP code we will use the headers_list() function and add multiple headers. So we will show how to set multiple headers and print the list of all headers.
<?php
// Sett multiple headers
header("Content-Type: application/json");
header("Cache-Control: no-cache");
// Display the list of headers
print_r(headers_list());
?>
Output
This will generate the below output −
Array ( [0] => X-Powered-By: PHP/8.0.2 [1] => Custom-Header: MyHeaderValue [2] => Cache-Control: no-cache )
Example 3
Now the below code checks headers with conditional logic. So basically this program sets headers only if they are not already sent with the help of the headers_list() function to verify.
<?php
// Check if headers are sent
if (!headers_sent()) {
header("X-Powered-By: PHP");
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
}
// Display the headers to confirm
print_r(headers_list());
?>
Output
This will create the below output −
Array ( [0] => X-Powered-By: PHP [1] => Expires: Thu, 19 Nov 1981 08:52:00 GMT )