Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当结果应该是数组时,为什么我会得到一个字典?_Php_Mongodb_Doctrine Orm_Doctrine Odm - Fatal编程技术网

Php 当结果应该是数组时,为什么我会得到一个字典?

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

我在PHP应用程序中使用Doctrine返回一个结果集,使用以下代码

 $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"
);