在 PHP 中创建对象数组
本文将介绍在 PHP 中创建对象数组的方法。
在 PHP 中创建一个类对象数组
我们可以使用 array()
函数在 PHP 中创建一个对象数组。该函数将对象作为参数,并将创建这些对象的数组。我们可以通过创建一个类并定义该类的一些属性来创建对象。类的属性会有一些值。最后,属性和值将在数组中形成一个键值对。
例如,创建一个类摩托车
。创建两个公共属性,$name
和 $type
。然后使用 new
关键字创建 Motorcycle
类的对象 $bike1
。使用任何合适的值填充对象的属性。同样,创建另一个对象 $bike2
并相应地填充值。接下来,创建一个变量 $bike
并使用两个对象 $bike1
和 $bike2
作为参数写入 array()
函数。最后,使用 print_r()
函数打印数组变量 $bikes
。
因此,我们可以创建一个对象数组,如输出部分所示。我们在下面的示例中创建了一个 Motorcycle
对象数组。我们可以看到每个 Motorcycle
对象的索引 0
和 1
。如上所述,每个对象的属性和值形成为键值对。
示例代码:
<?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[]
数组并分配属性 name
和 type
。为属性提供一些你选择的合适值。对 $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
)
)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341