PHP オブジェクトリテラル [重複] 質問する

PHP オブジェクトリテラル [重複] 質問する

PHP では、配列リテラルを非常に簡単に指定できます。

array(
    array("name" => "John", "hobby" => "hiking"),
    array("name" => "Jane", "hobby" => "dancing"),
    ...
)

しかし、オブジェクトの配列が必要な場合はどうすればよいでしょうか? PHP でオブジェクト リテラルを指定するにはどうすればよいでしょうか? たとえば、JavaScript では次のようになります。

[
    {name: "John", hobby: "hiking"},
    {name: "Jane", hobby: "dancing"}
]

ベストアンサー1

BoltClock が述べたように、PHP にはオブジェクト リテラルはありませんが、配列をオブジェクトに型キャストするだけでこれを行うことができます。

$testArray = array(
    (object)array("name" => "John", "hobby" => "hiking"),
    (object)array("name" => "Jane", "hobby" => "dancing")
);

echo "Person 1 Name: ".$testArray[0]->name;
echo "Person 2 Hobby: ".$testArray[1]->hobby;

おすすめ記事