PHP数组与对象之间使用递归实现转换的方法

这篇文章主要介绍了PHP数组与对象之间使用递归实现转换的方法,涉及php数组与对象的相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP数组与对象之间使用递归实现转换的方法。分享给大家供大家参考。具体实现方法如下:

这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下:

  1. function arrayToObject($e){
  2. if( gettype($e)!='array' ) return;
  3. foreach($e as $k=>$v){
  4. if( gettype($v)=='array' || getType($v)=='object' )
  5. $e[$k]=(object)arrayToObject($v);
  6. }
  7. return (object)$e;
  8. }
  9. function objectToArray($e){
  10. $e=(array)$e;
  11. foreach($e as $k=>$v){
  12. if( gettype($v)=='resource' ) return;
  13. if( gettype($v)=='object' || gettype($v)=='array' )
  14. $e[$k]=(array)objectToArray($v);
  15. }
  16. return $e;
  17. }
  18. function object_to_array($e) {
  19. $_arr = is_object($e) ? get_object_vars($e) : $e;
  20. foreach ($_arr as $key => $val) {
  21. $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
  22. $arr[$key] = $val;
  23. }
  24. return $arr;
  25. }