私が理解しているように、PHP stdClass
は、コードが実際に問題を起こすのに十分深く入れ子になっていると、一般に配列よりも高速です。どのように私はその場でstdClass
オブジェクトを定義するために型キャストしていた場合に効率が影響を受けるということです。オブジェクトとしてキャストされるPHP配列の効率?
$var = (object)array('one' => 1, 'two' => 2);
コードこれを行うには、私が明示的にオブジェクトとして$var
を定義したほうが良いでしょう、多くの何回も実行されようとしている場合代わりに:私はそこからいずれかの方法で、上のオブジェクトとして$var
にアクセスすることがありますので、
$var = new stdClass();
$var->one = 1;
$var->two = 2;
はごくわずかの違いですか?
編集:
AはstdClassは、私はここに必要なデータ型です。私は配列を使うべきかどうか、またはstdClassオブジェクトを使うべきかどうかについては心配していません。私はより具体的にstdClass
を具体化する(object)array(....)
の略語を使用するのが効率的かどうかと懸念しています。そして、はい、これは潜在的に何千回も実行されるコードにあります。
stdClassは配列の代わりではありません。代わりにArrayObjectを試してください。また、「はるかに速く」は相対的であり、ほとんどの場合実際には無関係です。 – Mchl