php对象和数组相互转换函数:get_object_vars() 和 (object)() 与 (array)()

get_object_vars

get_object_vars — 返回由对象属性组成的关联数组

 

说明

array get_object_vars ( object $obj )

返回由 obj指定的对象中定义的属性组成的关联数组。

 


 

(object)()

定义一个对象类型;

 


 

 (array)()

定义一个数组类型;

 

get_object_vars

 

php代码运行示例:

  1. <?php
  2. $arr=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5,'f'=>6];//关联数组
  3. $json=json_encode($arr);
  4. var_dump($json);
  5. echo '<br>';
  6. var_dump($obj=json_decode($json));
  7. echo '<br>';
  8. var_dump(get_object_vars($obj));
  9. echo '<br>';
  10. var_dump((object)($arr));
  11. echo '<hr>';
  12. $arr=['a','b','c','d','e','f'];//索引数组
  13. $json=json_encode($arr);
  14. var_dump($json);
  15. echo '<br>';
  16. var_dump($obj=json_decode($json));
  17. echo '<br>';
  18. $obj2=(object)($arr);
  19. var_dump($obj2);
  20. echo '<br>';
  21. var_dump((array)($obj2));

 

php代码运行结果:

  1. string(37) "{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6}"
  2. object(stdClass)#1 (6) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) ["f"]=> int(6) }
  3. array(6) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) ["f"]=> int(6) }
  4. object(stdClass)#2 (6) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) ["f"]=> int(6) } string(25) "["a","b","c","d","e","f"]"
  5. array(6) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" [5]=> string(1) "f" }
  6. object(stdClass)#1 (6) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" [5]=> string(1) "f" }
  7. array(6) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" [5]=> string(1) "f" }

 

提示:从以上代码可以看出,无论是对象转数组,还是数组转对象,所有的函数都是不一样的,因为数组它有关联数组和索引数组;

如果是关联数组:数组转对象可以直接用(object)();对象转数组则要用get_object_vars();

如果是索引数组:数组转对象可以直接用(object)();对象转数组直接用(array)();

 

虽然说以上代码用了json_decode()和json_encode()也可以将数组转为对象,但是这样需要多一个步骤,没有必要这样做,这两个函数主要是用于php数组和Json相互转换

    A+
发布日期:2016年12月26日 14:30:29  所属分类:PHP函数
最后更新时间:2016-12-26 14:31:32
付杰
  • ¥ 69.0元
  • 市场价:99.0元
  • ¥ 45.0元
  • 市场价:45.0元
  • ¥ 99.0元
  • 市场价:159.0元
  • ¥ 68.0元
  • 市场价:128.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: