php通常被用作数组键名和元素之间的连接器。简单来说就是用符号来分隔键和值,左边代表键,右边代表值。
引言我们习惯于在框架中编写类库接口,使用面向对象的方法来构建规模以上的应用。但是一直有很多机会和php数组打交道。
php版本迭代并添加了丰富的对象操作特性。今天,让我们下面我们来谈谈基本的php空对象,如何使用,以及注意事项。
如果学习时间是一个数组,我们可以这样存储数据:
$aval数组()
$aval[key1][var1]什么的
$aval[key1][var2]其他内容
那么有什么方法可以像下面这样操纵数据呢?
(对象)$oval
$oval-gtkey1-gtvar1什么的
$oval-gtkey1-gtvar2其他
当然,这是伪代码。php自带stdclass对象,下面的方法用于声明空对象:
$x新标准类()
stdclass是默认的php对象。stdclass没有属性、方法或父级。它不支持魔法方法,也不实现任何接口。
当您将标量或数组转换为对象时,您将获得stdclass的一个实例。每当需要通用对象实例时,都可以使用stdclass。
要创建stdclass的示例,可以使用下列方法之一:
$x新标准类
$y(对象)为空//同上
$z(object)a//创建属性标量a
$a(对象)数组(属性1gt1,属性2gtb)
您需要特别注意:
stdclass不是基类!php类不会自动继承任何类。所有的类都是独立的,除非它们显式地扩展了另一个类。php在这方面不同于许多面向对象的语言。
你可以t定义一个名为"stdclass"在你的代码里。该名称已被系统使用。您可以定义一个名为"客体与客体。你也可以定义一个扩展stdclass的类,但是你没有成功。;因为stdclass没有得到任何好处。;不要做任何事。
再举一个例子:
classctest{public$property1}$tnewctestvar_dump($tinstanceofstdclass)//falsevar_dump(is_subclass_of($t,stdclass))//falseechoget_class($t)。
//ctestechoget_parent_class($t)。
//false(无父级)
注意php类是独立存在的,上面的ctest类绝不是从stdclass对象继承来的。
在本文的最后,你应该会获得一个重要的概念,那就是php类是独立存在的,除非手工严格指定继承类。
同时,php为构建空对象提供了标准的stdclass对象。你不操作数据时,不必像数组一样。然而,除了数组,你还可以享受不到php在大型程序中带来的数据操作的便利。
快乐编码:_)
我是@程序员的助手,我继续分享我的编程知识。欢迎关注。