前回の投稿では、PHP7に取り入れられた improvements to the hashtable implementation(ハッシュテーブル実装の改善) について書きました。それに続く形で、今回はPHPの全般的な値の新しい表現形式に目を向けてみます。 取り上げる内容の量から考えて、2つのパートに分ける予定です。このパートでは、PHP5とPHP7の間におけるzval(Zend値)の実装の違い、それから参照の実装について説明し、パート2では、文字列やオブジェクトなど、個別の型の実現について、詳細に検討していこうと思います。 PHP5のzval PHP5では、zval構造体は次のように定義されます。 typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; zend_uchar type; zend