Ⅰ php从mysql中取出多组数据 如何加入数组中并转成JSON数组
首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()转化数组
json_encode() 函数的功能是将数值转换成json数据存储格式。
例如:
<?php
//定义一个数组,用于保存读取到的数据
$array = array();
$query = mysql_query("select * from table");
//遍历数据表
while($rows = mysql_fetch_array($query)){
//可以直接把读取到的数据赋值给数组或者通过字段名的形式赋值也可以
$array[] = $rows;
$array[$rows['id']] = $rows;
}
print_r($array);
//最后通过json_encode()转化数组
echo json_encode($array);
?>
Ⅱ php怎么将数组转换为json而不会使中文出现乱码
如果页面都是utf-8编码,一般不会出现乱码,如果不是utf-8,先转为utf-8。
如果想要转换的json中的中文可读的话,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。
Ⅲ 在PHP中怎么接收post过来的JSON数据
在PHP中接收POST过来的JSON数据,通常有两种方式。一种是直接使用file_get_contents函数获取原始数据,然后利用json_decode将JSON字符串转换为PHP数组或对象。例如:file_get_contents('php://input');获取数据后,使用json_decode(file_get_contents('php://input'), true)进行解码。另一种方式是通过$_POST超全局变量接收,这种方式需要在发送请求时设置Content-Type为application/json。例如:$_POST['data'],但这种方式并不推荐,因为$_POST通常用于接收表单数据。
下面是一个完整的示例,展示如何在PHP中处理POST过来的JSON数据:
首先,假设前端使用JavaScript发送JSON数据,代码如下:
JavaScript代码示例:
function sendData() {
var data = {'zhangsan':'lisi', 'age':18};
var xhr = new XMLHttpRequest();
xhr.open('POST', '/path/to/php/script', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify(data));
}
然后在PHP中接收并处理这些数据:
PHP代码示例:
<?php
$jsonData = file_get_contents('php://input');
$data = json_decode($jsonData, true);
echo "接收到的数据:";
print_r($data);
?>
上面的PHP代码首先使用file_get_contents('php://input')获取原始数据,然后通过json_decode将其转换为PHP数组。接着,使用print_r输出数据内容。
这种方式不仅适用于POST请求,也适用于其他HTTP方法。通过这种方式,PHP能够灵活地处理不同来源和格式的数据,增强应用的通用性和可维护性。