<?php
/**
* Decodes form submissions for batch processing.
*
* This script provides a simple way to decode data submitted via a form,
* suitable for batch processing scenarios. It avoids external libraries
* to keep dependencies minimal.
*
* @param array $post_data Array of form data (key => value).
* @return array|false Decoded data, or false on error.
*/
function decodeFormData(array $post_data): array|false {
if (empty($post_data)) {
return []; // Return empty array if no data is provided.
}
$decoded_data = [];
foreach ($post_data as $key => $value) {
//Basic data type handling. Could be extended.
if (is_string($value)) {
$decoded_data[$key] = trim($value); //Remove whitespace
} elseif (is_numeric($value)) {
$decoded_data[$key] = (float)$value; //Convert to float
} elseif (is_array($value)) {
$decoded_data[$key] = $value; //Keep as array
} else {
$decoded_data[$key] = $value; //Keep as is
}
}
return $decoded_data;
}
//Example Usage (for testing)
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$form_data = json_decode(file_get_contents("php://input"), true); //Get data from input
if ($form_data !== null) {
$decoded_data = decodeFormData($form_data);
if ($decoded_data !== false) {
echo "<pre>";
print_r($decoded_data);
echo "</pre>";
} else {
echo "Error decoding data.";
}
} else {
echo "Invalid JSON data.";
}
}
?>
Add your comment