在 PHP 中创建一个没有类的对象

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 new stdClass() 创建一个没有类的对象
  2. 使用 object 数据类型将数组类型转换为对象以创建对象而不创建类
  3. 在 PHP 中使用 json_dencode() 函数创建对象而不创建类
在 PHP 中创建一个没有类的对象

本文将介绍在 PHP 中无需创建类即可创建对象的方法。

在 PHP 中使用 new stdClass() 创建一个没有类的对象

我们可以从 stdClass() 创建一个对象,而无需在 PHP 中创建基类。我们可以使用 new 运算符来创建 stdClass() 的对象。对象可以通过调用它们直接访问属性。因此,我们可以使用 stdClass() 创建动态对象和属性。将数组类型转换为对象时,编译器会创建 stdClass() 的实例。

例如,创建一个变量 $object 并存储由 new 运算符创建的 stdClass() 的实例。从 $object 对象调用变量 property 并分配一个字符串。分配字符串,I am an object's property。使用反斜杠\ 转义文本中的撇号。对 $object 变量应用 var_dump() 函数以转储有关该变量的信息。

在下面的示例中,我们创建了一个 stdClass() 对象,并立即为该对象的属性赋值。当我们转储对象时,我们将看到在输出中创建的 stdClass 类的对象。因此,我们可以创建一个对象而无需在 PHP 中创建基类。

示例代码:

#php 7.x
<?php
$object = new stdClass();
$object->property = 'I am an object\'s property';
var_dump($object);
?>

输出:

object(stdClass)#1 (1) { ["property"]=> string(25) "I am an object's property" }

使用 object 数据类型将数组类型转换为对象以创建对象而不创建类

我们可以创建一个对象而无需在 PHP 中创建类,使用 object 数据类型将类型转换为对象。我们可以将数组类型转换为 stdClass 对象。object 关键字在数组将数组类型转换为对象之前用括号括起来。我们可以使用 var_dump() 函数作为第一个方法来查看类型转换对象的信息。

例如,创建一个变量 $place 并在其中存储一个数组。该数组包含 citycountry 键以及相应的值 PokharaNepal。将 $place 变量分配给新的 $obj 变量。将 object 数据类型写在 $place 变量之前的括号内。使用 $obj 作为参数调用 var_dump() 函数。

下面的示例将数组类型转换为对象。var_dump() 函数在输出部分显示 $obj 对象。它表明它是一个 stdClass 对象。查看 PHP 手册 了解类型转换的工作原理。

代码示例:

#php 7.x
<?php
$place = ['city' => 'Pokhara', 'country' =>'Nepal'];
$obj = (object) $place;
var_dump($obj);
?>

输出:

object(stdClass)#1 (2) { ["city"]=> string(7) "Pokhara" ["country"]=> string(5) "Nepal" }

在 PHP 中使用 json_dencode() 函数创建对象而不创建类

json_decode() 函数将 JSON 字符串转换为 PHP 对象。该函数采用一个字符串参数,该参数将被转换为一个对象。该函数还采用一个可选的布尔参数。这个布尔参数的默认值是 false,它将把 JSON 对象转换为 PHP 对象。如果值为 true,它会将 JSON 对象转换为关联数组。

例如,创建一个变量 $jsonobj 并将一个 JSON 对象存储到其中。该对象包含 HarryTonyJuan 作为键以及整数值 272432 作为各自的值。键值对括在花括号内。JSON 对象用引号括起来作为字符串。然后在 $jsonobj 变量上使用 json_decode() 函数。将 var_dump() 函数应用于 json_encode() 函数以显示有关编码对象的信息。

在下面的示例中,json_encode() 函数将 JSON 对象转换为 stdClass 的 PHP 对象。var_dump() 函数显示对象的属性和值。因此,我们创建了一个对象,而没有在 PHP 中创建一个类。它还显示值的类型。请查看 PHP 手册 以了解有关 json_decode() 函数的更多信息。

示例代码:

# php 7.x
<?php
$jsonobj = '{"Harry":27,"Tony":24,"Juan":32}';
var_dump(json_decode($jsonobj));
?>

输出:

object(stdClass)#1 (3) { ["Harry"]=> int(27) ["Tony"]=> int(24) ["Juan"]=> int(32) }
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相关文章 - PHP Object