Php 当结果应该是数组时,为什么我会得到一个字典?
我在PHP应用程序中使用Doctrine返回一个结果集,使用以下代码Php 当结果应该是数组时,为什么我会得到一个字典?,php,mongodb,doctrine-orm,doctrine-odm,Php,Mongodb,Doctrine Orm,Doctrine Odm,我在PHP应用程序中使用Doctrine返回一个结果集,使用以下代码 $dm = $this->get('doctrine.odm.mongodb.document_manager'); $query = $dm->createQueryBuilder('SomeBundle:Listing') ->select('title') ->field('userId')->equals(1); $li
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$query = $dm->createQueryBuilder('SomeBundle:Listing')
->select('title')
->field('userId')->equals(1);
$listings = $query->getQuery()->execute();
$listings_array = $listings->toArray(); <--- WHY NOT RETURNING AN ARRAY?????
$data = array('success'=>true,'listings' => $listings_array, 'displaymessage' => $classifieds->count(). " Listings Found");
我想要的是数组,而不是字典
有什么帮助吗?我对ODM没有太多的干扰,但我怀疑Doctrine在调用集合上的
toArray
时总是将记录的键作为数组中的键,这在大多数情况下都会使您更容易执行此操作,特别是因为在php中,dict
/散列
和数组
之间没有区别
如果需要数字索引数组,请在其上调用array\u value
$data = array(
'success'=>true,
'listings' => array_values($listings_array),
'displaymessage' => $classifieds->count(). " Listings Found"
);
$data = array(
'success'=>true,
'listings' => array_values($listings_array),
'displaymessage' => $classifieds->count(). " Listings Found"
);