Мое соединение 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_styleи аналогичным образом рассмотрим результаты следующим образом:
$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?
}
Как это можно сделать?
Обратите внимание, что приведение типов к массиву не является приемлемым ответом, так как использование интерфейса обхода в первую очередь будетлучший подход.
Однако утверждение, что это невозможно (если это правда), является приемлемым ответом.