我的PDO连接被设置为返回标准对象,我可以使用遍历接口对结果进行迭代,如下所示:
$stmt=$this->pdo->prepare($sql);
$stmt->execute($arr);
foreach($stmt as $rs) {
//$rs is a stdObject since the pdo connection is set up to return stdObjects
}
每
http://php.net/manual/en/pdo.query.php
,我可以对结果指定fetch_样式和类似的itterate,如下所示:
$stmt = $pdo->query($sql, PDO::FETCH_ASSOC);
foreach($stmt as $rs) {
//$rs is an array even though pdo connection is set up to return stdObject since I included `PDO::FETCH_ASSOC`
}
但是,我想要的是,在将PDO连接设置为返回标准对象时使用一个准备好的语句,并使用遍历接口对结果和返回数组进行迭代:
$stmt=$this->pdo->prepare($sql);
$stmt->execute($arr);
foreach($stmt as $rs) {
// pdo connection is set up to return stdObject. What can be done to make $rs an array?
}
怎么能做到?
请注意,对数组进行类型转换是不可接受的答案,因为首先不使用遍历接口将是更好的方法。
但是,声明不可能(如果是真的)是可以接受的答案。