1. ホーム
  2. php

[解決済み] stdClass()を使って配列をオブジェクトに変換する方法 [重複] (英語)

2022-05-18 09:54:51

質問

以下のような配列を作りました。

$clasa = array(
        'e1' => array('nume' => 'Nitu', 'prenume' => 'Andrei', 'sex' => 'm', 'varsta' => 23),
        'e2' => array('nume' => 'Nae', 'prenume' => 'Ionel', 'sex' => 'm', 'varsta' => 27),
        'e3' => array('nume' => 'Noman', 'prenume' => 'Alice', 'sex' => 'f', 'varsta' => 22),
        'e4' => array('nume' => 'Geangos', 'prenume' => 'Bogdan', 'sex' => 'm', 'varsta' => 23),
        'e5' => array('nume' => 'Vasile', 'prenume' => 'Mihai', 'sex' => 'm', 'varsta' => 25)
);

stdClass()を使ってこの配列をオブジェクトに変換する方法を知りたいです。私はPHP初心者なので、簡単な例があれば非常に助かります。同様の質問を検索してみましたが、回答は複雑で、基本クラスとオブジェクトについての私の理解を超えています。

どのように解決するのですか?

次のコードを追加するだけです。

$clasa = (object) array(
            'e1' => array('nume' => 'Nitu', 'prenume' => 'Andrei', 'sex' => 'm', 'varsta' => 23),
            'e2' => array('nume' => 'Nae', 'prenume' => 'Ionel', 'sex' => 'm', 'varsta' => 27),
            'e3' => array('nume' => 'Noman', 'prenume' => 'Alice', 'sex' => 'f', 'varsta' => 22),
            'e4' => array('nume' => 'Geangos', 'prenume' => 'Bogdan', 'sex' => 'm', 'varsta' => 23),
            'e5' => array('nume' => 'Vasile', 'prenume' => 'Mihai', 'sex' => 'm', 'varsta' => 25)
);

もし、この stdClass オブジェクトを確認したい場合は、次のようにコールしてください。

print_r($clasa);

配列をオブジェクトコードに変換する場合は、次のようになります。

$arr = array('a'=>'apple','b'=>'ball');
$arr = (object) $arr;

stdClassを使用する必要はありません。自動的にstdClassに変換されます。