打印出来的PDOStatment成员变量就一个["queryString"],为啥能遍历出来好多的结果集数组呀,一直觉得好神奇,求原理
自己写了个class 里面有4个成员变量,foreach遍历出来就是4个数据,
但是PDOStatment打印出来的时候大括号里面就一个["queryString"],为啥foreach能遍历出所有结果集的内容?
想知道原理啊,想半天想不通,看源码也不知道在哪实现的这个接口。
图如下:
自己写了个class 里面有4个成员变量,foreach遍历出来就是4个数据,
但是PDOStatment打印出来的时候大括号里面就一个["queryString"],为啥foreach能遍历出所有结果集的内容?
想知道原理啊,想半天想不通,看源码也不知道在哪实现的这个接口。
图如下:
2016-08-03
我也不太懂 但是你应该是用var_dump() 从官方看到的
var_dump():此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构
$pdo = new pdo($dsn,$username,$passwd);
$sql = "SELECT * FROM user";
// $pdo->query($sql):代表一条预处理语句,并在该语句被执行后代表一个相关的结果集
$stmt = $pdo->query($sql);
var_dump($stmt);//打印输出
因为你返回的是一个相关的结果集,并不是一个数组
(应该就是这样,我是这样理解不一定对,假如你解决了记得通知我一下我也学习学习)
举报