In web development, it is often necessary to convert arrays into JSON format data. PHP, as a widely used server-side scripting language, provides many methods to convert arrays into JSON.
The json_encode() function is the most basic function in PHP for converting an array to JSON format. It accepts an array as parameter and returns a JSON formatted string.
Sample code:
<?php $array = array('name' => 'Tom', 'age' => 20, 'gender' => 'Male'); $json = json_encode($array); echo $json; ?>
Output result:
{"name":"Tom","age":20,"gender":"Male"}
If the array contains Chinese characters, use json_encode () function may cause garbled characters. In this case, you can use the JSON_UNESCAPED_UNICODE option to ignore escaping Unicode characters.
Sample code:
<?php $array = array('name' => '张三', 'age' => 20, 'gender' => '男'); $json = json_encode($array, JSON_UNESCAPED_UNICODE); echo $json; ?>
Output result:
{"name":"张三","age":20,"gender":"男"}
If there are other arrays nested in the array or objects, may not be converted correctly using the json_encode() function. At this time, you need to use a recursive function to process each level of the array.
Sample code:
<?php $array = array( 'name' => 'Tom', 'age' => 20, 'gender' => 'Male', 'contacts' => array( 'email' => 'tom@example.com', 'phone' => '123456789' ) ); $json = json_encode_recursive($array); echo $json; function json_encode_recursive($array) { array_walk_recursive($array, function(&$value, &$key) { if (is_string($value)) { $value = urlencode($value); } }); return urldecode(json_encode($array)); } ?>
Output result:
{"name":"Tom","age":20,"gender":"Male","contacts":{"email":"tom%40example.com","phone":"123456789"}}
The above are several methods of converting arrays to JSON using PHP. It should be noted that JSON data must comply with certain format specifications, otherwise it may not be parsed or used. In actual development, we need to understand the basic syntax and rules of JSON, and choose the appropriate processing method according to specific needs.
The above is the detailed content of How to convert array into json in php. For more information, please follow other related articles on the PHP Chinese website!