Current Location: Home> Latest Articles> How to Pass and Store Array Data via POST Method in PHP

How to Pass and Store Array Data via POST Method in PHP

M66 2025-07-18

Can the POST Method in PHP Store Arrays?

In PHP, the POST method is typically used for passing string data, and it cannot directly pass arrays. However, we can convert the array to a JSON string and pass it to the backend for processing.

Here’s an example showing how to pass array data in a POST request:

Frontend Code Example

On the frontend, we first convert the array into JSON format, then send the data to the backend using the POST method.

// Frontend Code
var data = {
    "name": "Alice",
    "age": 25,
    "interests": ["Reading", "Traveling", "Photography"]
};

var json_data = JSON.stringify(data);

var xhr = new XMLHttpRequest();
xhr.open("POST", "process_data.php", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(json_data);

Backend PHP Code Example

On the backend, we receive the JSON data and use the json_decode() function to convert it into an array.

<?php
// Receive the JSON data
$json_data = file_get_contents('php://input');

// Convert the JSON data into an array
$data = json_decode($json_data, true);

// Process the array data
$name = $data["name"];
$age = $data["age"];
$interests = $data["interests"];

// Output data
echo "Name: " . $name . "<br>";
echo "Age: " . $age . "<br>";
echo "Interests: ";
foreach($interests as $interest) {
    echo $interest . ", ";
}
?>

Conclusion

From the example above, we can see that although the POST method cannot directly pass arrays, converting the array into a JSON string makes it easy to pass the data to the backend. The backend then decodes the JSON data and extracts the array values for further processing.

In summary, while the POST method in PHP cannot directly pass arrays, using JSON to transmit the array is an effective solution.