Home > Article > Backend Development > Can the POST method in PHP store arrays?
The POST method in PHP can only pass string data, not arrays directly. But there are ways to pass the array to the background for processing. Below is a sample code that illustrates how to pass array data in a POST request.
First, we can convert the array to JSON format, use the JSON.stringify()
method on the front end to convert the array to a JSON string, and then use json_decode(( )
Method to convert JSON string to array.
The sample code is as follows:
// 前端代码 <script> 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); </script>
In the back-end PHP code process_data.php
, we can receive data in JSON format and then use json_decode()
method converts it into an array and processes it.
// 后端代码 - process_data.php <?php // 接收JSON格式的数据 $json_data = file_get_contents('php://input'); // 将JSON格式数据转换为数组 $data = json_decode($json_data, true); // 处理数组数据 $name = $data["name"]; $age = $data["age"]; $interests = $data["interests"]; // 输出数据 echo "Name: " . $name . "<br>"; echo "Age: " . $age . "<br>"; echo "Interests: "; foreach($interests as $interest){ echo $interest . ", "; } ?>
In the above example, we first convert the object containing the array into a JSON string on the front-end, and then pass the JSON data to the back-end PHP script through the POST method. In the back-end PHP code, we receive the JSON data and convert it into an array, and then extract the corresponding values for processing and output.
In short, although the POST method cannot directly pass the array, it can be passed by converting the array into a JSON string, and then parsed on the backend.
The above is the detailed content of Can the POST method in PHP store arrays?. For more information, please follow other related articles on the PHP Chinese website!