在 PHP 中创建对象数组

Subodh Poudel 2023年1月30日
  1. 在 PHP 中创建一个类对象数组
  2. 在 PHP 中创建一个 stdClass 对象数组
  3. 使用 PHP 中的 array() 函数创建对象数组
在 PHP 中创建对象数组

本文将介绍在 PHP 中创建对象数组的方法。

在 PHP 中创建一个类对象数组

我们可以使用 array() 函数在 PHP 中创建一个对象数组。该函数将对象作为参数,并将创建这些对象的数组。我们可以通过创建一个类并定义该类的一些属性来创建对象。类的属性会有一些值。最后,属性和值将在数组中形成一个键值对。

例如,创建一个类摩托车。创建两个公共属性,$name$type。然后使用 new 关键字创建 Motorcycle 类的对象 $bike1。使用任何合适的值填充对象的属性。同样,创建另一个对象 $bike2 并相应地填充值。接下来,创建一个变量 $bike 并使用两个对象 $bike1$bike2 作为参数写入 array() 函数。最后,使用 print_r() 函数打印数组变量 $bikes

因此,我们可以创建一个对象数组,如输出部分所示。我们在下面的示例中创建了一个 Motorcycle 对象数组。我们可以看到每个 Motorcycle 对象的索引 01。如上所述,每个对象的属性和值形成为键值对。

示例代码:

<?php
class Motorcycle
{
    public $name;
    public $type;
}

$bike1 = new Motorcycle();
$bike1->name = 'Husqvarna';
$bike1->type = 'dirt';
$bike2 = new Motorcycle();
$bike2->name = 'Goldwing';
$bike2->type = 'touring';
$bikes = array($bike1, $bike2);
?>
<pre><?php print_r($bikes);?> </pre>

输出:

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)

在 PHP 中创建一个 stdClass 对象数组

我们可以通过在 PHP 中创建 stdClass 的对象来创建一个对象数组。stdClass 在 PHP 的标准函数集中定义。它不是对象的基类;相反,它是一个空类,可用于类型转换和设置动态属性。我们可以创建 stdClass 的对象,它本质上是一个数组。然后,我们可以将动态属性分配给具有索引的对象。

例如,创建一个数组 $bikes[] 并使用 new 关键字使其成为 stdClass 的对象。然后,将索引 0 赋予 $bikes[] 数组并分配属性 nametype。为属性提供一些你选择的合适值。对 $bikes[] 数组中的索引 1 重复相同的过程。接下来,打印 $bikes 数组。

下面的示例创建了一个 stdClass 对象数组,如下面的输出部分所示。

示例代码:

<?php
$bikes[] = new stdClass;

$bikes[0]->name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
<pre><?php print_r($bikes);?> </pre>

输出:

Array
(
 [0] => stdClass Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => stdClass Object
 (
 [name] => Goldwing
 [type] => touring
 )

)

使用 PHP 中的 array() 函数创建对象数组

这种方法与第一种方法非常相似。我们可以通过从类创建对象来创建对象数组。在这里,我们将首先使用 array() 函数创建一个数组,然后填充数组中的对象。在第一种方法中,我们创建了对象,然后使用 array() 函数将它们填充到数组中。我们将使用数组索引来设置属性的值。

例如,创建一个 Motorcycle 类,其属性与第一种方法相同。然后使用 array() 函数创建一个带有 $bikes 变量的数组。将数组留空。然后,使用 0 索引从 $bike 数组创建该类的对象。还要设置 0 索引的属性和值。对 1 索引重复相同的过程。最后,使用 print_r() 函数打印数组。

示例代码:

<?php
class Motorcycle
{
    public $name;
    public $type;
}
$bikes = array();

$bikes[0] = new Motorcycle();
$bikes[0]->name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1] = new Motorcycle();
$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
<pre><?php print_r($bikes);?> </pre>

输出:

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )

)
作者: 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 Array

相关文章 - PHP Object