首页后端开发其他后端知识PHP项目中数据库查询结果输成json怎样做?

PHP项目中数据库查询结果输成json怎样做?

时间2024-03-25 13:52:03发布访客分类其他后端知识浏览540
导读:相信很多人对“PHP项目中数据库查询结果输成json怎样做?”都不太了解,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且内容详细,逻辑清晰,接下来小编就为你详细解释一下这个问题。直接上实例代码 <?php h...
相信很多人对“PHP项目中数据库查询结果输成json怎样做?”都不太了解,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且内容详细,逻辑清晰,接下来小编就为你详细解释一下这个问题。

直接上实例代码

?php  
header("Content-type:text/html;
    charset=utf-8");
    //字符编码设置  
$servername = "localhost";
      
$username = "root";
      
$password = "root";
      
$dbname = "tjks";
      

// 创建连接  
$con =mysqli_connect($servername, $username, $password, $dbname);
      

// 检测连接  

  
$sql = "SELECT * FROM brands";
      
$result = mysqli_query($con,$sql);
  
if (!$result) {
    
    printf("Error: %s\n", mysqli_error($con));
    
    exit();

}
    

$jarr = array();

while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){
    
    $count=count($rows);
    //不能在循环语句中,由于每次删除 row数组长度都减小  
    for($i=0;
    $i$count;
$i++){
      
        unset($rows[$i]);
//删除冗余数据  
    }
    
    array_push($jarr,$rows);

}
    
print_r($jarr);
    //查看数组
echo "br/>
    ";
    
 
echo 'hr>
    ';
    

echo '编码后的json字符串:';
    
echo $str=json_encode($jarr);
    //将数组进行json编码
echo 'br>
    ';
    
$arr=json_decode($str);
    //再进行json解码
echo '解码后的数组:';
    
print_r($arr);
    //打印解码后的数组,数据存储在对象数组中
mysqli_close($con);
    
?>
    

输出内容如下:

Array ( [id] => 1 [name] => GNC ) Array ( [id] => 2 [name] => TCBJ ) Array ( [id] => 3 [name] => TJKS )
Unicode编码后的json数据: [{ "id":"1","name":"GNC"} ,{ "id":"2","name":"TCBJ"} ,{ "id":"3","name":"TJKS"} ]

可以看到,直接进行json_encode(); 编码,是将三个数组分别转为了json格式,而且两端会出现中括号!!还有另外一种写法

?php  
header("Content-type:text/html;
    charset=utf-8");
    //字符编码设置  
$servername = "localhost";
      
$username = "root";
      
$password = "root";
      
$dbname = "tjks";
      

// 创建连接  
$con =mysqli_connect($servername, $username, $password, $dbname);
      

// 检测连接  

  
$sql = "SELECT * FROM brands";
      
$result = mysqli_query($con,$sql);
  
if (!$result) {
    
    printf("Error: %s\n", mysqli_error($con));
    
    exit();

}
    

$jarr = array();

while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){
    
    $count=count($rows);
    //不能在循环语句中,由于每次删除 row数组长度都减小  
    for($i=0;
    $i$count;
$i++){
      
        unset($rows[$i]);
//删除冗余数据  
    }
    
    array_push($jarr,$rows);

}
    
print_r($jarr);
    //查看数组
echo "br/>
    ";
    
echo 'hr>
    ';
    

$jobj=new stdclass();
    //实例化stdclass,这是php内置的空类,可以用来传递数据,由于json_encode后的数据是以对象数组的形式存放的,
//所以我们生成的时候也要把数据存储在对象中
foreach($jarr as $key=>
$value){
    
$jobj->
    $key=$value;

}
    
echo '传递属性后的对象:';
    
print_r($jobj);
    //打印传递属性后的对象
echo 'br>
    ';
    
echo '编码后的json字符串:'.json_encode($jobj).'br>
    ';
    //打印编码后的json字符串
mysqli_close($con);
    
?>
    

输出内容如下:

Array ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )
传递属性后的对象:stdClass Object ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )
编码后的json字符串:{ "0":{ "id":"1","name":"GNC"} ,"1":{ "id":"2","name":"TCBJ"} ,"2":{ "id":"3","name":"TJKS"} }

这样一来,中括号没有了,数组也成为了有序的数组!



到此这篇关于“PHP项目中数据库查询结果输成json怎样做?”的文章就介绍到这了,感谢各位的阅读,更多相关PHP项目中数据库查询结果输成json怎样做?内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP项目中数据库查询结果输成json怎样做?
本文地址: https://pptw.com/jishu/652821.html
react虚拟dom能实现什么问题,有什么好处吗 PHP+ffmpeg实现获取视频缩略图的详细过程是什么

游客 回复需填写必要信息