PHP で配列をオブジェクトに変換する方法
Minahil Noor
2023年1月30日
この記事では、PHP で array
をオブジェクトに変換する方法を紹介します。
- 型キャストを使用する
- 関数
json_decode
とjson_encode()
を利用します。
PHP で配列をオブジェクトに変換するための型キャストの使用法
型キャストは変数のデータ型を変換するのに役立ちます。型キャストを使用すると、integer
を float
や string
などに変換することができます。ここでは、PHP で array
をオブジェクトに変換するために型キャストを使用します。配列をオブジェクトにキャストする正しい方法は以下の通りです。
$variableName = (object)$arrayName;
以下のプログラムは、型キャストを使って array
をオブジェクトに変換する方法を示しています。
<?php
$array = array("Rose",
"Lili",
"",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"",
"Daffodil",
"Daisy");
$object= (object)$array;
echo("The object is \n");
var_dump($object);
?>
出力:
The object is
object(stdClass)#1 (10) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(0) ""
[3]=>
string(7) "Jasmine"
[4]=>
string(8) "Hibiscus"
[5]=>
string(5) "Tulip"
[6]=>
string(10) "Sun Flower"
[7]=>
string(0) ""
[8]=>
string(8) "Daffodil"
[9]=>
string(5) "Daisy"
}
json_encode()
と json_decode()
関数を用いて PHP で配列をオブジェクトに変換する例
PHP で array
をオブジェクトに変換するには、json_encode()
と json_decode()
関数を使用することができます。json_encode()
関数は配列を JSON の string
に変換します。次に、この string
をオブジェクトに変換するために json_decode()
関数を利用します。
関数 json_encode()
を利用する正しい構文は以下の通りです。
json_encode($variable, $option, $depth)
関数 json_encode()
は 3つのパラメータを受け付けます。パラメータの詳細は以下の通りです。
パラメータ | 説明 | |
---|---|---|
$variable |
強制 | これは JSON の string に変換したい値です。 |
$option |
オプション | 複数の定数からなるビットマスクです。これらの定数を確認するには、ここでを参照してください。 |
$depth |
オプション | これは深さであり、0 よりも大きくなければなりません。 |
関数 json_decode()
を利用するための正しい構文は以下の通りです。
json_decode($jsonString, $assoc, $depth, $options)
関数 json_decode()
は 4つのパラメータを受け取ります。パラメータの詳細は以下の通りです。
パラメータ | 説明 | |
---|---|---|
$jsonString |
強制 | オブジェクトに変換したい JSON 文字列です。 |
$assoc |
オプション | これはブール値です。TRUE に設定すると、オブジェクトを連想配列として返します。 |
$depth |
オプション | これは深さを表すもので、0 よりも大きくなければなりません。 |
$options |
オプション | これは JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING, JSON_THROW_ON_ERROR のビットマスクです。 |
これら 2つの関数を用いて array
をオブジェクトに変換するプログラムは以下の通りです。
<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Tulip","Sun Flower","Daffodil","Daisy");
$object = json_encode($array);
$object1 = json_decode($object);
echo("The object is:\n");
var_dump($object1);
?>
出力:
The object is:
array(8) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(5) "Tulip"
[5]=>
string(10) "Sun Flower"
[6]=>
string(8) "Daffodil"
[7]=>
string(5) "Daisy"
}