PHP系列 | PHP中的stdClass是什么?
2022/6/3 1:22:47
本文主要是介绍PHP系列 | PHP中的stdClass是什么?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简介
stdClass 是 PHP 中的空类,用于将其他类型转换为对象。它类似于 Java 或 Python 对象。 stdClass 不是对象的基类
转换为对象
如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,将会创建一个内置类 stdClass
的实例。如果该值为 null
,则新的实例为空。 array 转换成 object 将使键名成为属性名并具有相对应的值。注意:在这个例子里, 使用 PHP 7.2.0 之前的版本,数字键只能通过迭代访问。
stdClass() 的定义
1、stdClass是PHP的一个基类,几乎所有的类都继承这个类,任何时候都可以被new,可以让一个变量成为一个对象(object)。
2、所有使用 new stdClass 的变量,都不能使用方法,即不可能出现 $a->text() 的情况
3、stdClass 在 php5 版本开始流行起来的,低于php5的版本,尽量或不使用此方法(好像这一条是多余的)
stdClass() 的用途
1、stdClass通过调用它们直接访问成员。
2、它在动态对象中很有用。
3、它用于设置动态属性等。
stdClass 类的使用
1、存储数据
(1)数组存储
1 // 定义数组存储个人信息 2 $personal_array = [ 3 "name" => "Tinywan", 4 "home" => "www.tinywan.com", 5 "address" => "ZheJiang HangZhou" 6 ]; 7 8 // 显示数组内容 9 print_r($personal_array);
输出内容
Array ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou )
(2)stdClass存储:使用 stdClass 而不是数组来存储个人详细信息(动态属性)
$personal_object = new stdClass(); $personal_object->name = "Tinywan"; $personal_object->home = "www.tinywan.com"; $personal_object->address = "ZheJiang HangZhou"; // 显示对象内容 print_r($personal_object);
输出内容
stdClass Object ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou )
注意:数组到对象和对象到数组的类型转换是可能的。
(3)将数组转换为对象
$personal_array = [ "name" => "Tinywan", "home" => "www.tinywan.com", "address" => "ZheJiang HangZhou" ]; $personal_object = (object) $personal_array; // 显示对象内容 print_r($personal_object);
输出内容
stdClass Object ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou )
(4)将对象属性转换为数组
$personal_object = new stdClass(); $personal_object->name = "Tinywan"; $personal_object->home = "www.tinywan.com"; $personal_object->address = "ZheJiang HangZhou"; $personal_array = (array) $personal_object; // 显示数组内容 print_r($personal_array);
输出内容
Array ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou )
2、动态增加属性
$personal_object = new stdClass(); $personal_object->name = "Tinywan"; $personal_object->home = "www.tinywan.com"; $personal_object->address = "ZheJiang HangZhou"; print_r($personal_object); // 动态增加属性 $personal_object->age = 24; $personal_object->schoole = "GanZhengFa"; print_r($personal_object);
输出
stdClass Object ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou ) stdClass Object ( [name] => Tinywan [home] => www.tinywan.com [address] => ZheJiang HangZhou [age] => 24 [schoole] => GanZhengFa )
这篇关于PHP系列 | PHP中的stdClass是什么?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享