在PHP中将对象转换为数组

WBOY
发布: 2023-09-09 17:53:08
转载
1130人浏览过

在php中将对象转换为数组

在 PHP 应用程序中,我们正在处理各种格式的数据,例如字符串、数组、对象等等...在实时应用程序中,我们可能需要以关联形式读取 PHP 对象结果数组以获得所需的输出。

因此我们将在这里讨论如何将 php 对象转换为 PHP 中的关联数组。

让我们解释一下什么是 PHP 中的对象和关联数组?对象是类的实例,这意味着您可以从一个类创建许多对象。它只是一个类的一个样本,并分配了内存。另一方面,由字符串作为索引组成的数组称为关联数组。它包含一个键值对,其中值与各自的键相关联。

现在让我们讨论将对象转换为数组的各种方法。

立即学习PHP免费学习笔记(深入)”;

吉卜力风格图片在线生成
吉卜力风格图片在线生成

将图片转换为吉卜力艺术风格的作品

吉卜力风格图片在线生成 121
查看详情 吉卜力风格图片在线生成

方法1:

利用 json_decode 和 json_encode 技术:

最初 json_encode() 函数返回给定值的 JSON 编码字符串。json_decode() 函数将其转换为 PHP 数组。

示例:

<?php
   class student {
      public function __construct($firstname, $lastname) {
         $this->firstname = $firstname;
         $this->lastname = $lastname;
      }
   }
   $myObj = new student("Alex", "Stokes");
   echo "Before conversion:".'</br>';
   var_dump($myObj);
   $myArray = json_decode(json_encode($myObj), true);
   echo "After conversion:".'</br>';
   var_dump($myArray);
?>
登录后复制

输出:

Before conversion:
object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
After conversion:
array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
登录后复制

说明:

这里我们创建了一个类 Student,并在该类中声明了一个 __construct() 函数,该函数在创建对象时执行。构造函数接收稍后在使用 new 关键字创建对象时提供的参数。在第一个 var_dump() 表达式中,我们打印对象,但在第二种情况下,我们借助 json_decode 和 json_encode 技术将对象转换为数组。

方法 2:

使用类型转换技术将对象转换为数组:

类型转换是一种将一种数据类型变量利用为不同数据类型的方法,它只是数据类型的精确转换。

<?php
   class bag {
      public function __construct( $item1, $item2, $item3){
         $this->item1 = $item1;
         $this->item2 =$item2;
         $this->item3 = $item3;
      }
   }
   $myBag = new bag("Books", "Ball", "Pens");
   echo "Before conversion :".'</br>';
   var_dump($myBag);
   $myBagArray = (array)$myBag;
   echo "After conversion :".'</br>';
   var_dump($myBagArray);
?>
登录后复制

输出:

Before conversion :
object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
After conversion:
array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
登录后复制

解释:

在这里,我们创建了一个名为“bag”的类,在该类内部,我们声明了一个__construct()函数,该函数在创建对象时执行。构造函数接收参数,这些参数在使用new关键字创建对象时提供。在第一个var_dump()表达式中,我们只是打印对象,但在第二种情况下,我们使用类型提示过程将对象强制转换为数组。

以上就是在PHP中将对象转换为数组的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号