如何避免PHP的列索引?

Ren*_*nan 1 php json

当我从表中获取所有值以创建Json格式化字符串时,我在php响应中也得到了索引.如何避免它?

我的Php计划

<?php
include 'configa.php'; 
$sql1 = mysql_query("SELECT * FROM `message_store_push`") or die(mysql_error());
$c = mysql_num_rows($sql1);
$i=0;
while($sql2 = mysql_fetch_array($sql1)){
         $arrDet['AddressDetails']['details'][] = $sql2;
}

 if($c>0){
    $arrDet['Details']['status'] = "success";
 } else {
    $arrDet['Details']['status'] = "No data";
 }
echo json_encode($arrDet);
?>
Run Code Online (Sandbox Code Playgroud)

而Respose则是

{
"AddressDetails":{
"details":[
{
"0":"1",
"key_id":"1",
"1":"2016-01-27 04:20:52",
"key_time":"2016-01-27 04:20:52",
"2":"HI",
"key_message":"HI"
}
]
},
"Details":{
"status":"success"
}
}
Run Code Online (Sandbox Code Playgroud)

但是我需要

{
"AddressDetails":{
"details":[
{
"key_id":"1",
"key_time":"2016-01-27 04:20:52",
"key_message":"HI"
}
]
},
"Details":{
"status":"success"
}
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点

kam*_*pal 6

你需要使用mysql_fetch_assoc而不是mysql_fetch_array

这个

while($sql2 = mysql_fetch_array($sql1)){
         $arrDet['AddressDetails']['details'][] = $sql2;
}
Run Code Online (Sandbox Code Playgroud)

应该

while($sql2 = mysql_fetch_assoc($sql1)){
         $arrDet['AddressDetails']['details'][] = $sql2;
}
Run Code Online (Sandbox Code Playgroud)

另请注意,从PHP 7中删除了mysql_*函数,您可以开始使用mysqli或PDO.