在 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