PHP 변수 메커니즘

1 개요[ | ]

PHP 변수 메커니즘
  • PHP는 COW, 참조카운팅을 사용하는 동적, 느슨한 타입 언어임
  • PHP 변수 = 자료형 정보 + 실제 데이터
  • 아래와 같은 zval 구조체로 표현됨
typedef struct _zval_struct {
    zvalue_value value;        /* 변수 값 */
    zend_uint refcount__gc;    /* 참조 카운터 */
    zend_uchar type;           /* 값의 자료형 */
    zend_uchar is_ref__gc;     /* 참조 플래그 */
} zval;
  • zval_value는 모든 자료형을 표한할 수 있는 공용체
typedef union _zvalue_value {
    long lval;                 /* long 값 */
    double dval;               /* double 값 */
    struct {                   
        char *val;
        int len;               /* 문자열이라면 항상 설정됨 */
    } str;                     /* 문자열 */
    HashTable *ht;             /* 배열 */
    zend_object_value obj;     /* 핸들 보관 객체 */
} zvalue_value;

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}