PHP でオブジェクトの配列を作成する

Subodh Poudel 2023年1月30日
  1. PHP でクラスオブジェクトの配列を作成する
  2. PHP で stdClass オブジェクトの配列を作成する
  3. PHP の array() 関数を使用してオブジェクトの配列を作成する
PHP でオブジェクトの配列を作成する

この記事では、PHP でオブジェクトの配列を作成する方法を紹介します。

PHP でクラスオブジェクトの配列を作成する

array() 関数を使用して、PHP でオブジェクトの配列を作成できます。関数はオブジェクトを引数として取り、それらのオブジェクトの配列を作成します。クラスを作成し、クラスのいくつかのプロパティを定義することで、オブジェクトを作成できます。クラスのプロパティにはいくつかの値があります。最後に、プロパティと値は配列内でキーと値のペアを形成します。

たとえば、クラス Motorcycle を作成します。$name$type の 2つのパブリックプロパティを作成します。次に、new キーワードを使用して、Motorcycle クラスのオブジェクト $bike1 を作成します。オブジェクトのプロパティに適切な値を入力します。同様に、別のオブジェクト $bike2 を作成し、それに応じて値を入力します。次に、変数 $bike を作成し、2つのオブジェクト $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>

Ouput:

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