PHP でオブジェクトの配列を作成する
この記事では、PHP でオブジェクトの配列を作成する方法を紹介します。
PHP でクラスオブジェクトの配列を作成する
array()
関数を使用して、PHP でオブジェクトの配列を作成できます。関数はオブジェクトを引数として取り、それらのオブジェクトの配列を作成します。クラスを作成し、クラスのいくつかのプロパティを定義することで、オブジェクトを作成できます。クラスのプロパティにはいくつかの値があります。最後に、プロパティと値は配列内でキーと値のペアを形成します。
たとえば、クラス Motorcycle
を作成します。$name
と $type
の 2つのパブリックプロパティを作成します。次に、new
キーワードを使用して、Motorcycle
クラスのオブジェクト $bike1
を作成します。オブジェクトのプロパティに適切な値を入力します。同様に、別のオブジェクト $bike2
を作成し、それに応じて値を入力します。次に、変数 $bike
を作成し、2つのオブジェクト $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>
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 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 の foreach ループの最初と最後の要素を決定する方法
- PHP で配列を文字列に変換する方法
- PHP で配列の最初の要素を取得する方法
- PHP で配列をエコーまたは出力する方法
- PHP で配列から要素を削除する方法
- PHP で空の配列要素を削除する方法