-
Notifications
You must be signed in to change notification settings - Fork 8k
Closed
Description
Description
repro: https://3v4l.org/fQ0ep
-actual
+expected
object(Closure)#1 (0) {
}
-array(1) {
- [0]=>
- object(Closure)#1 (0) {
- }
+array(0) {
}
object(DateTime)#2 (3) {
["date"]=>
string(26) "2013-02-20 20:00:12.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
array(3) {
["date"]=>
string(26) "2013-02-20 20:00:12.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}Convection:
When a scalar type is casted to an array, the result is [scalar].
However for object type, the convection of the result after array cast is an array of properties. So an empty array is expected. This is demonstrated in the repro with DateTime object.
This issue should be tested by creating object for all declared classes and after casting them to array, no element must be of the same reference. (I came to this issue when I was expanding object to properties using array cast)