scr*_*ibu 37 php arrays casting properties object
get_object_vars($obj)和之间有什么区别(array) $obj吗?
两者似乎都返回了对象的公共属性.
哪个更好?
zne*_*eak 48
这不完全正确.
get_object_vars是范围敏感的,除了静态属性外,它们将返回除可见性之外的所有可见属性.如果你从课外打电话,你只会得到公众成员; 从派生类中,您将获得受保护和公共成员; 从班级本身,你将获得所有成员.数组键表示属性名称,不会被损坏.
该(array)投的回报,至少在PHP 5.3.0,所有的对象属性,公众和其他.根据保护级别修改属性的名称:
public:没有损坏,与属性名称相同protected:属性的键名以a开头 *private:属性的键名以类的名称开头请参阅转换为数组以获取更多信息.
我希望你能够更好地了解哪一个最适合你的情况.