1. PHP는 약한 유형의 언어이므로 변수 유형을 명시적으로 표시할 필요가 없지만, PHP 변수에도 유형이 있습니다. a .스칼라 유형: 부울, 정수, 부동(더블), 문자열
b. 복합 유형: 배열, 객체
c. 특수 유형: 리소스, null
2 .C 언어를 이용한 PHP의 변수 구현 원리
a. 변수 저장 구조
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;/*表示是否为引用*/ };
typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object_value obj; } zvalue_value;
참고: tipi 오픈소스 프로젝트 http://www.php-internals .com/book/?p=chapt03/03-01-00-variables-structure
위 내용은 내용적인 측면을 포함하여 PHP 변수의 원리를 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.