您好,欢迎访问一九零五行业门户网

PHP对象(object) 与 数组(array) 的转换例子

php对象(object) 与 数组(array) 的转换我们开发中用到的非常的多了,对于这个问题我们今天整理一些例子,具体的如下所示。
数组是php的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组 与 对象 之间切换也是常有的事:
例子一
 代码如下 复制代码
/**
 * 数组 转 对象
 *
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr)
{
 if (gettype($arr) != 'array')
 {
  return;
 }
 foreach ($arr as $k => $v)
 {
  if (gettype($v) == 'array' || gettype($v) == 'object')
  {
   $arr[$k] = (object)array_to_object($v);
  }
 }
 return (object)$arr;
}
/**
 * 对象 转 数组
 *
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj)
{
 $obj = (array)$obj;
 foreach ($obj as $k => $v)
 {
  if (gettype($v) == 'resource')
  {
   return;
  }
  if (gettype($v) == 'object' || gettype($v) == 'array')
  {
   $obj[$k] = (array)object_to_array($v);
  }
 }
 return $obj;
}
例子2
 代码如下 复制代码
a = $a;
    }
}
//对象转数组,使用get_object_vars返回对象属性组成的数组
function objecttoarray($obj){
    $arr = is_object($obj) ? get_object_vars($obj) : $obj;
    if(is_array($arr)){
        return array_map(__function__, $arr);
    }else{
        return $arr;
    }
}
//数组转对象
function arraytoobject($arr){
    if(is_array($arr)){
        return (object) array_map(__function__, $arr);
    }else{
        return $arr;
    }
}
$test = new test('test1');
$test->b = new test('test2');
print_r($test);
$array = objecttoarray($test);
print_r($array);
$object = arraytoobject($array);
print_r($object);
其它类似信息

推荐信息