配列よりオブジェクトの方がパフォーマンスが良いという話を聞き、気になったので調べてみました。 スカラー変数 まず、PHPのスカラー変数の復習。 PHPのスカラー変数は、以下のように、シンボルテーブルからzval構造体にアクセスして、値を取得します。 <?php $a = 1; ?> 変数のコピーでは、値をコピーするのではなく、同じzval構造体を指し、refcountが1追加されます。 <?php $b = $a; ?> 参照渡しでは、同じzval構造体を指し、refcountが1追加、is_refが1になります。 <?php $b = &$a; ?> 配列 次に配列。PHPの配列は、順番を持ったハッシュです。 配列$aの"x"にアクセスするには、まず$aが指すzval構造体にアクセスし、そのzval構造体のzvalue_value共用体にあるハッシュテーブルから、指定されたキーのzval
![PHPのデータ構造 - yokkunsの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/d4a95ca6906301b073f12fd1d9b6e25405683fa1/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyokkuns%2F20090614%2F20090614223231.png)