这篇文章主要为大家详细介绍了PHP变量(Variables inside PHP)的深入分析,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!
或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型:
代码如下:
<?php
/* 四海网 www.q1010.com */
$var = 1; //int
$var = "laruence"; //string
$var = 1.0002; //float
$var = array(); // array
$var = new Exception('error'); //object;
所谓脚本语言,就是说,PHP并不是独立运行的,要运行PHP我们需要PHP解析器:
代码如下:
/usr/bin/php -f example.ph
在PHP中,所有的变量都是用一个结构-zval来保存的, 在Zend/zend.h中我们可以看到zval的定义:
代码如下:
typedef struct _zval_struct {
zvalue_value value;
zend_uint refcount;
zend_uchar type;
zend_uchar is_ref;
} zval;
代码如下:
typedef union _zvalue_value {
long lval;
double dval;
struct {
char *val;
int len;
} str;
HashTable *ht;
zend_object_value obj;
} zvalue_value;
PHP中常见的变量类型有:
1. 整型/浮点/长整型/bool值 等等
2. 字符串
3. 数组/关联数组
4. 对象
5. 资源
PHP根据zval中的type字段来储存一个变量的真正类型,然后根据type来选择如何获取zvalue_value的值,比如对于整型和bool值:
代码如下:
zval.type = IS_LONG;//整形
zval.type = IS_BOOL;//布尔
代码如下:
zval.type = IS_STRIN
代码如下:
type = IS_RESOURC
代码如下:
ZEND_FETCH_RESOURCE(con, type, zval *, default, resource_name, resource_type);
本文来自:http://www.q1010.com/173/14871-0.html
注:关于PHP变量(Variables inside PHP)的深入分析的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。