首頁 >後端開發 >php教程 >php 變數原理

php 變數原理

WBOY
WBOY原創
2016-07-29 08:57:44811瀏覽

1.php作為一種弱型別語言,不需要明確的指明變數的型別,但是php變數也是有型別的,php變數包含以下8種變數(三大類)

  a.標量類型:boolean, integer,float(double),string

  b.複合型別:array,object

  c.特殊型別:resource,null

rr2.php使用語言實作變數的原理

.

   b.儲存變數值得zvalue_value如下

typedef struct _zval_struct zval;
...
struct _zval_struct {
    /* Variable information */
    zvalue_value value;     /*存储变量的值,是一个union类型*/
    zend_uint refcount__gc;/*变量的引用计数,默认为1*/
    zend_uchar type;    /*变量的类型,为IS_NULL、IS_BOOL、IS_LONG、IS_DOUBLE、IS_STRING、IS_ARRAY、IS_OBJECT和IS_RESOURCE之一*/
    zend_uchar is_ref__gc;/*表示是否为引用*/
};

 這裡使用union而不是struct是為了節省記憶體空間,以為一個變數同一時間只能表示一種類型

參考資料:tipi開源參考資料.php-internals.com/book/?p=chapt03/03-01-00-variables-structure

以上就介紹了php 變因原理,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn