打印出來的PDOStatment成員變量就一個["queryString"],為啥能遍歷出來好多的結果集數組呀,一直覺得好神奇,求原理
自己寫了個class ?里面有4個成員變量,foreach遍歷出來就是4個數據,
但是PDOStatment打印出來的時候大括號里面就一個["queryString"],為啥foreach能遍歷出所有結果集的內容?
想知道原理啊,想半天想不通,看源碼也不知道在哪實現的這個接口。
圖如下:
自己寫了個class ?里面有4個成員變量,foreach遍歷出來就是4個數據,
但是PDOStatment打印出來的時候大括號里面就一個["queryString"],為啥foreach能遍歷出所有結果集的內容?
想知道原理啊,想半天想不通,看源碼也不知道在哪實現的這個接口。
圖如下:
2016-08-03
舉報
2016-08-04
我也不太懂 但是你應該是用var_dump() 從官方看到的
var_dump():此函數顯示關于一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構
$pdo = new pdo($dsn,$username,$passwd);
$sql = "SELECT * FROM user";
// $pdo->query($sql):代表一條預處理語句,并在該語句被執行后代表一個相關的結果集
$stmt = $pdo->query($sql);
var_dump($stmt);//打印輸出
因為你返回的是一個相關的結果集,并不是一個數組
(應該就是這樣,我是這樣理解不一定對,假如你解決了記得通知我一下我也學習學習)