A 白玫瑰,依旧是床前明� 光 2019-06-22 16:43 采纳率: 0%
浏览 239

print_r,var_dump,var_export打印同一个结果集,输出结果怪异

<?php
header('Content-type:text/html;charset=utf-8');
//设置mysqli参数;
$sqlhost = 'localhost';
$username = 'root';
$pw = '';
$dbname = 'h51905';

$conn = new mysqli($sqlhost,$username,$pw,$dbname) or die('error');

// if($conn->connect_error){
// die('链接错误码为:' . $conn->connect_error);
// };

// echo '链接成功!';

$sql = "SELECT * FROM goodlist";

$res = $conn->query($sql);

// $arr =$res->fetch_all(MYSQLI_ASSOC);

print_r($res);
// var_dump($res);
// var_export($res);

?>


指令查询数据库正常
图片说明
vscode里面的代码
图片说明

print-r输出的结果。
图片说明
var-dump输出结果
图片说明
var-expor输出结果
图片说明

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 06:23
    关注

    根据你提供的代码和图片,可以看出 print_r、var_dump、var_export 三个函数输出结果的差异:

    1. print_r 输出结果中的对象类型前面带有对象名称 Object,可以推测该对象是一个 mysqli_result 类型的对象,这也符合我们从数据库查询出来的结果是一个结果集对象;
    2. var_dump 输出结果中的对象类型前面带有标识符 resource(资源类型),并且没有打印每个元素的键名,而是用纯数字表示,这是因为 mysqli_result 类型的对象是一个特殊的资源类型对象,不能像普通数组那样遍历输出;
    3. var_export 打印的是一个 NULL,这是因为 mysqli_result 类型的对象是一个无法导出的对象类型。

    因此,以上三个函数的输出结果都是正确的,对于 mysqli_result 类型的结果集对象,可以使用 mysqli_result 类型提供的接口来依次取出每一行数据。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题