タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

debugとzvalに関するi_ogiのブックマーク (1)

  • PHPのデータ構造 - yokkunsの日記

    配列よりオブジェクトの方がパフォーマンスが良いという話を聞き、気になったので調べてみました。 スカラー変数 まず、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の日記
    i_ogi
    i_ogi 2009/06/16
    クラスもプロパティを持っていれば配列と同様のコストがかかるし、配列も$a = $b = array()だと、同じzvalを参照するから例がちょっとフェアじゃないかな。
  • 1