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)
Description
repro: https://3v4l.org/fQ0ep
Convection:
When a
scalartype is casted to an array, the result is[scalar].However for
objecttype, 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 withDateTimeobject.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)