タグ

ブックマーク / yokkuns.hatenadiary.org (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の日記
    stibbar
    stibbar 2009/07/10
    ものすごい納得した。PHPの配列はC/C++でいうところの配列とは違うもんなんだなぁ。動的型付け言語における構造体と配列の違いってあんまり考えてもしょうがないものかも。> 最後にオブジェクトです。オブジェクトは、
  • 1