In web development, front-end JavaScript and back-end PHP are technologies that are often used together. How to pass the processed data in the front-end script to the back-end PHP program for further processing is a very common problem. This article will introduce how to use PHP to receive array data passed from JavaScript.
1. Front-end JS code implements array transfer
To pass the array processed by JS to the back-end PHP program, you first need to convert the array data into a string in JS, and then initiate the Pass strings as parameters to PHP during HTTP requests.
The following is a simple JS code example that declares an array named "data" and uses the JSON.stringify() method to convert it into a string:
var data = [1,2,3,4,5]; var jsonString = JSON.stringify(data);
In When making an HTTP request, you can pass the converted string as a parameter to PHP. For example, when using the ajax() method in the jQuery library to initiate a POST request, you can pass data to the method as the "data" attribute value:
$.ajax({ type: "POST", url: "process.php", data: {data: jsonString}, success: function(response){ console.log(response); } });
Here, the URL of the POST request is "process.php" , the data is passed to the PHP program through the "data" attribute. If the return is successful, the response information is output in the callback function.
2. The back-end PHP code parses the submitted array data
In PHP, there are many ways to receive array data passed from JavaScript. The following are two commonly used methods:
In PHP, you can use the $_POST super variable to obtain submitted data. For example, if the data is passed to the PHP program as the "data" attribute value in the JS code, the following statement can be used in the PHP code to obtain the data:
$data = $_POST["data"];
Due to the use of the JSON.stringify() method in JS Convert an array into a string, so you also need to use the json_decode() method in PHP to convert it back to an array. For example, you can use the following statement to restore a string to an array:
$dataArray = json_decode($data,true);
Here, setting the second parameter to true means converting the array into an associative array.
In PHP, you can directly receive the data of the Post request through the input stream (stdin). For example, the following code can be used to obtain array data passed from JavaScript:
$postData = file_get_contents('php://input'); $dataArray = json_decode($postData,true);
Here the data in the php://input stream is read through the file_get_contents() method, and the data is converted into an array using the json_decode() method . Likewise, setting the second parameter to true converts the array into an associative array.
3. Complete PHP code example
The following is a complete PHP code example for receiving array data passed from JavaScript and processing it. First, read the data in the php://input stream through the file_get_contents() method, and convert the data into an array using the json_decode() method. After processing, the processing results can be returned to the JS program as a response.
<?php header("Content-Type: application/json; charset=UTF-8"); $postData = file_get_contents('php://input'); $arrayData = json_decode($postData,true); $sum = 0; foreach($arrayData as $value){ $sum += $value; } $response = array("success" => true, "result" => $sum); echo json_encode($response); ?>
4. Summary
In Web development, JavaScript and PHP are two crucial technologies. To pass data from front-end JavaScript to the back-end PHP program for processing, the original array needs to be converted into string format and passed as a parameter to the PHP program. PHP programs can receive array data from the front end through the $_POST super variable and input stream, and can use the json_decode() method to convert the string back to an array. After processing the data, you can use the json_encode() method to return the processing results to the front-end program as data in JSON format.
The above is the detailed content of How does php receive the array returned by js. For more information, please follow other related articles on the PHP Chinese website!