| @@ 51-72 (lines=22) @@ | ||
| 48 | return $deep ? $this->toDeepArray($object) : $this->toShallowArray($object); |
|
| 49 | } |
|
| 50 | ||
| 51 | private function toDeepArray($object) |
|
| 52 | { |
|
| 53 | $array = []; |
|
| 54 | ||
| 55 | if ($this->isDateTimeExtensionObject($object)) { |
|
| 56 | return $this->parseDateTimeExtensionObject($object); |
|
| 57 | } |
|
| 58 | ||
| 59 | $vars = $this->getAllObjectVarsOrArrayProperties($object); |
|
| 60 | ||
| 61 | foreach ($vars as $property => $value) { |
|
| 62 | if (is_object($value) || is_array($value)) { |
|
| 63 | $array[$property] = $this->toDeepArray($value); |
|
| 64 | } elseif (is_resource($value)) { |
|
| 65 | $array[$property] = (string)$value; |
|
| 66 | } else { |
|
| 67 | $array[$property] = $value; |
|
| 68 | } |
|
| 69 | } |
|
| 70 | ||
| 71 | return $array; |
|
| 72 | } |
|
| 73 | ||
| 74 | private function isDateTimeExtensionObject($object) |
|
| 75 | { |
|
| @@ 120-139 (lines=20) @@ | ||
| 117 | return $vars; |
|
| 118 | } |
|
| 119 | ||
| 120 | private function toShallowArray($object) |
|
| 121 | { |
|
| 122 | $array = []; |
|
| 123 | ||
| 124 | if ($this->isDateTimeExtensionObject($object)) { |
|
| 125 | return $this->parseDateTimeExtensionObject($object); |
|
| 126 | } |
|
| 127 | ||
| 128 | foreach ($object as $property => $value) { |
|
| 129 | if (is_object($value) || is_array($value)) { |
|
| 130 | $array[$property] = $this->toShallowArray($value); |
|
| 131 | } elseif (is_resource($value)) { |
|
| 132 | $array[$property] = (string)$value; |
|
| 133 | } else { |
|
| 134 | $array[$property] = $value; |
|
| 135 | } |
|
| 136 | } |
|
| 137 | ||
| 138 | return $array; |
|
| 139 | } |
|
| 140 | } |
|
| 141 | ||