private function toArrayInternal($data)
{
if (is_array($data)) {
foreach ($data as $key => $value) {
if (is_array($value)) {
$data[$key] = $this->toArrayInternal($value);
}
if (is_object($value)) {
if ($value instanceof Type) {
$data[$key] = $this->dumpBsonObject($value);
} else {
$data[$key] = ArrayHelper::toArray($value);
}
}
}
return $data;
} elseif (is_object($data)) {
return ArrayHelper::toArray($data);
} else {
return [$data];
}
}