对象和数组的区别:
-
数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。
-
数组的数据没有"名称"(name),对象的数据有"名称"(name)。(例外:在Javascript语言中,关联数组就是对象,对象就是关联数组。)
/**
- 对象转数组
- @author 佚名
- @param object $obj
- @return array */ function object_to_array($obj){ $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val){ $val = (is_array($val) || is_object($val)) ? $this->object_to_array($val) : $val; $arr[$key] = $val; } return $arr; }
[is_object
](http://www.php.net/manual/zh/function.is-object.php): 检测变量是否是一个对象。 [get_object_vars
](http://php.net/manual/zh/function.get-object-vars.php) : 返回由对象属性组成的关联数组。 参考资料: http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html https://gist.github.com/suziewong/4316491
- 原文作者: forecho
- 原文链接: https://blog.forecho.com/php-dui-xiang-zhuan-cheng-shu-zu-de-han-shu.html
- 版权声明:本作品采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。