Разница между PDO :: FETCH_ * и кастингом - PullRequest
0 голосов
/ 24 января 2012

Я хочу узнать реальную разницу в PHP PDO между переменной приведения и константой PDO :: FETCH_ * для запроса на возврат

Пример:

$row = $stmt->fetch(PDO::FETCH_OBJ);

ИЛИ

$row = (object) $stmt->fetch();

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Нет существенной разницы, но, очевидно, первая строка выполняет меньше работы: она выбирает данные и заполняет объект, а вторая - данные, заполняет массив и затем приводит массив к объекту.

Вы также можете посмотреть на http://us.php.net/manual/en/pdostatement.fetchobject.php

0 голосов
/ 24 января 2012

Метод stmt->fetch(); возвращает индексированный массив (PDO :: FETCH_BOTH) как по имени столбца, так и по массиву с нулевым индексом, а метод $stmt->fetch(PDO::FETCH_OBJ); возвращает анонимный объект с именами свойств, которые соответствуют column имена, возвращенные в вашем наборе результатов.

...