PHP-使用stdClass将数组转换为对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-使用stdClass将数组转换为对象相关的知识,希望对你有一定的参考价值。

  1. <?php
  2. $person = array (
  3. 'firstname' => 'Richard',
  4. 'lastname' => 'Castera'
  5. );
  6.  
  7. $p = (object) $person;
  8. echo $p->firstname; // Will print 'Richard'
  9. ?>
  10.  
  11. <?php
  12. function arrayToObject($array) {
  13. if(!is_array($array)) {
  14. return $array;
  15. }
  16.  
  17. $object = new stdClass();
  18. if (is_array($array) && count($array) > 0) {
  19. foreach ($array as $name=>$value) {
  20. $name = strtolower(trim($name));
  21. if (!empty($name)) {
  22. $object->$name = arrayToObject($value);
  23. }
  24. }
  25. return $object;
  26. }
  27. else {
  28. return FALSE;
  29. }
  30. }
  31. ?>
  32.  
  33. <?php
  34. $person = array (
  35. 'first' => array('name' => 'Richard')
  36. );
  37.  
  38. $p = arrayToObject($person);
  39. ?>
  40.  
  41. <?php
  42. // Now you can use $p like this:
  43. echo $p->first->name; // Will print 'Richard'
  44. ?>

以上是关于PHP-使用stdClass将数组转换为对象的主要内容,如果未能解决你的问题,请参考以下文章

将 stdClass 类的对象转换为 JSON 对象

PHP------数组和对象相互转化,stdClass Object转array

PHP------数组和对象相互转化,stdClass Object转array

PHP错误:不能将stdClass类型的对象用作数组(数组和对象问题)[重复]

将 stdClass 对象转换/转换为另一个类

如何将 stdClass 对象打印为字符串?