2017-02-11 8 views
1

http://php.net/manual/en/internals2.variables.intro.phpヌル値が占めるメモリ量はどれくらいですか?

変数をどのように宣言しているかについて私の理解が完全に変更されています。私は.netの背景からPHPに来た。どのような私の理解することは、メモリ内の4 bytesスペースを取るので、我々は、int型を宣言しているので、我々は

int x = 32;

をdecalre、null値は、すべてのスペースを占有していないときではなく、彼らはメモリ内の参照をnullにポイントでした。

このPHPマニュアルを勉強しているうちに、null値がどのようにメモリ内の領域を占めるかということを結論づけることはできませんでした。

おかげ

+1

問題は、PHP変数が保持する情報のタイプと値に関して、PHP変数が「動的」であることです。だから、それが割り当てられると、それは数字になる可能性があります。次の行には文字列を割り当てることができます!したがって、変数を宣言すると、可能なすべての型を保持できます。すなわちそれはレコードである。現在どのようなタイプと価値があるのか​​は、レコードのフィールドを調べることで確認できます。提供された答えはもっと詳しく説明しています。つまり、何かを保持できる変数 '$ x'を宣​​言します。次に、型intと値32に設定されます。しかし、それらはレコード '$ x'のフィールドだけです。 –

答えて

2

は、変数が

typedef struct _zval_struct { 
    zvalue_value value;  /* variable value */ 
    zend_uint refcount__gc; /* reference counter */ 
    zend_uchar type;   /* value type */ 
    zend_uchar is_ref__gc;  /* reference flag */ 
} zval; 

はいくつかのヒントhttp://www.slideshare.net/jpauli/understanding-php-memory/12-PHP

のためにこれを見て取り、本質的にzval_strucでのvar宣言(ないコンテンツ用)のための部分のみを占有すべきhttp://php.net/manual/en/internals2.variables.intro.php

+0

私はこの先生、ありがとう – rummykhan

関連する問題