用php编码json
所以这里有一件事: 我正在开发一个后端(php),通过android应用程序与Microsoft SQL Server连接,作为用户界面 然而,当涉及到用php编码json时,我面临一个问题 公平地说,我是php的初学者 这是我的代码:用php编码json,php,sql-server,json,encoding,Php,Sql Server,Json,Encoding,所以这里有一件事: 我正在开发一个后端(php),通过android应用程序与Microsoft SQL Server连接,作为用户界面 然而,当涉及到用php编码json时,我面临一个问题 公平地说,我是php的初学者 这是我的代码: $result = sqlsrv_query( $conn, 'select * from table1'); $row = sqlsrv_fetch_array($result); $array = array(); while($row =sqlsrv_
$result = sqlsrv_query( $conn, 'select * from table1');
$row = sqlsrv_fetch_array($result);
$array = array();
while($row =sqlsrv_fetch_array($result))
{
$array[]=$row;
}
echo json_encode(array("data"=>array_values($array)));
因此,到目前为止,该表实际上没有任何内容:
只有两个属性:姓名和年龄
这里的问题是,回报如下:
{"data":[{"0":"Miriana","name":"Miriana","1":null,"age":null},{"0":"Luke","name":"Luke","1":null,"age":null},{"0":"Sara","name":"Sara","1":null,"age":null},{"0":"Fuss","name":"Fuss","1":20,"age":20}]}
在值之前总是有一个数字,然后是实数键和值
例如:
"0":"Miriana"
"1":null
非常感谢任何想查看此内容的人
**我检查了这些链接:
**您需要指定提取类型:
while($row =sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
默认情况下,可以同时获得数字键和关联键
并且您可能应该在循环之前删除提取,因为您将不会获得当前结果中的第一行。sqlsrv_fetch_数组的默认提取类型是
sqlsrv_fetch_BOTH
,它将行作为关联数组和数字数组进行提取,因此您可以同时获得这两种类型。如果只需要关联数组,请将sqlsrv\u fetch\u array
的第二个参数设置为sqlsrv\u fetch\u ASSOC
$result = sqlsrv_query( $conn, 'select * from table1');
$array = array();
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
{
$array[]=$row;
}
echo json_encode(array("data"=>array_values($array)));
删除了第一次提取,因为如果这样做,将无法获取第一行
参考资料:echo json_encode($array)怎么样代码>?或者如果您需要'data'
echo json_encode(array(“data”=>$array))的键代码>