<?php
/**
* Binds response header arguments for debugging with inline comments.
*
* @param array $headers The array of response headers.
* @return array The modified array of response headers with debugging information.
*/
function debugResponseHeaders(array $headers): array
{
$debugHeaders = []; // Initialize an array to store debug headers
foreach ($headers as $headerName => $headerValue) {
// Add the original header
$debugHeaders[$headerName] = $headerValue;
// Add debugging information
if (is_scalar($headerValue)) {
//If its a scalar value, add type and value
$debugHeaders["debug_" . $headerName . "_type"] = gettype($headerValue);
$debugHeaders["debug_" . $headerName . "_value"] = $headerValue;
} elseif (is_array($headerValue)) {
//If it's an array, serialize it for easier viewing
$debugHeaders["debug_" . $headerName . "_value"] = json_encode($headerValue);
} else {
// For other types, show the type
$debugHeaders["debug_" . $headerName . "_type"] = gettype($headerValue);
}
}
return $debugHeaders; // Return the modified array of headers
}
// Example usage:
// $responseHeaders = ['Content-Type' => 'application/json', 'X-Custom-Header' => 'some_value'];
// $debugHeaders = debugResponseHeaders($responseHeaders);
// print_r($debugHeaders);
?>
Add your comment