Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 Zend Framework 2中的ResultSet不能与toArray()一起使用_Php_Arrays_Zend Framework2 - Fatal编程技术网

Php Zend Framework 2中的ResultSet不能与toArray()一起使用

Php Zend Framework 2中的ResultSet不能与toArray()一起使用,php,arrays,zend-framework2,Php,Arrays,Zend Framework2,我原以为我可以在Zend resultset上使用toArray(),但我发现使用toArray()失败,并显示以下消息: 不能将作为此数据源一部分且类型为object的行强制转换为数组 我认为会起作用的是 返回新的JsonModel($collections->toArray()) 但由于出现上述错误消息,该操作失败 这是收藏,一个小班 类集合 { 公共$collectionID; 公共名称; 公共函数exchangeArray($data) { $this->collectionID=(!e

我原以为我可以在Zend resultset上使用
toArray()
,但我发现使用
toArray()
失败,并显示以下消息:

不能将作为此数据源一部分且类型为object的行强制转换为数组

我认为会起作用的是

返回新的JsonModel($collections->toArray())

但由于出现上述错误消息,该操作失败

这是收藏,一个小班

类集合
{
公共$collectionID;
公共名称;
公共函数exchangeArray($data)
{
$this->collectionID=(!empty($data['collectionID'])?$data['collectionID']:null;
$this->name=(!empty($data['name'])?$data['name']:null;
}
//添加以下方法:
公共函数getArrayCopy()
{
返回get\u object\u vars($this);
}
}
如果我加上我自己的

public function toArray()
{
  return array(get_object_vars($this));
}
我可以强迫它做我期望的事情,但我不确定这是最好的方法。另外,如果我将其与
JsonModel
结合使用,输出的JSON还将包含settings.global.php中的变量


提前感谢,

您应该能够使用,
$result->getArrayCopy()
如果不起作用,您可以尝试将此函数添加到集合中

 public function getArrayCopy()
 {
     return get_object_vars($this);
 }

你必须循环浏览这些记录,因为它不会一次把所有的记录都取出来。比如:

$m = array();

foreach($resultSet as $r)
    $m[] = (array)$r;
或者试试:

$resultSet = (array)resultSet;

不幸的是,这为我生成了相同的错误消息。