Когда извлекать результаты базы данных в виде объектов и массивов в PHP? и почему?


Я всегда получал результаты базы данных как Arrays, а не как Objects, и причина в том, что PHP предоставляет так много функций для управления arrays, что это облегчает мою жизнь.

Я рассмотрел этот вопрос SO Объекты или массивы?

Но это не отвечает на мой вопрос. Парень, который раньше работал в моем проекте, всегда получал результаты как Objects, и мне было очень трудно преобразовать их в arrays, а затем манипулировать ими, так как я генерировал потенциальных клиентов статистика. Функции массива упростили это.

Есть ли простой способ сделать это? или любая другая альтернатива? Зачем идти на Objects, а не Arrays?

ПРИМЕЧАНИЕ: Я не рассматриваю performance, но мой ease of manipulation.

Author: Community, 2015-05-17

1 answers

В PHP нет абсолютно никакого важного преимущества в возврате экземпляра объекта stdClass по сравнению с обычным массивом.

И вы поняли, что, если вы возвращаете массив, вы можете использовать функцию moltitude php array_* для манипулирования данными, и это большое преимущество.

Конечно, в любом случае вы можете конвертировать туда и обратно в объект и массив, просто приведя его:

$array = (array) $object;
$object = (object) $array;

Вам предоставляется возможность выбрать получение объектов, потому что это обычная практика используйте ORM при запросе базы данных. (Обязательная цитата: ОРМ Вьетнам)

Обратите внимание, что с помощью PDO вы можете возвращать объект, указанный вами на основе вашего запроса, например:

$stmt = $dbh->query("SELECT * FROM animals");
$stmt->setFetchMode(PDO::FETCH_INTO, new animals);

Но на данный момент вы просто должны использовать ORM, если вам нужны объекты

 4
Author: dynamic, 2015-05-17 18:46:53