很多站长朋友们都不太清楚php变量有类型,今天小编就来给大家整理php变量有类型,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php变量的定义及变量类型有哪些 2、 PHP的基本数据类型有哪些? 3、 PHP中有几种主要的数据类型,通俗的解释一下他们 4、 PHP中变量类型的问题 5、 PHP变量名、变量值、类型 php变量的定义及变量类型有哪些变量定义
$变量名 = “变量值”;
例如
$b = "1234";
如果变量值是数字可以不用引号!
存在8种变量类型,可以分为三类* 标量类型: boolean、integer、float(double)、string* 复合类型: array、object* 特殊类型: resource、NULL
PHP的基本数据类型有哪些?PHP主要有八种基本数据类型,其中包括:
1.四种变量类型
整数型(integer)
浮点数型(float)
布尔型(boolean)
字符串(string)
2.两种复合类型
数组(array)
对象(object)
3.两种特殊类型
NULL
资源
(resource)
PHP中有几种主要的数据类型,通俗的解释一下他们数据类型有三种:
1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。
PHP中变量类型的问题PHP 支持 8 种原始数据类型。
四种标量类型:
boolean(布尔型)false 和 true
只有两个取值
integer(整型)
也就是非小数
float(浮点型,也称作 double(取值范围比float小))
小数
string(字符串)
两种复合类型:
array(数组)
object(对象)
最后是两种特殊类型:
resource(资源)
NULL(无类型)
为了确保代码的易读性,本手册还介绍了一些伪类型:
mixed(混合类型)
number(数字类型)
callback(回调类型)
更详细的说明LZ可以百度搜索:php数据类型 会有很详细的介绍
PHP变量名、变量值、类型变量名 =》 zval
变量值 =》zend_value
问题:
引用计数
变量传递,变量赋值
变量的基础结构
变量值:zend_value
typedef union _zend_value {
zend_long lval; /* long value */
double dval; /* double value */
zend_refcounted *counted;
zend_string *str;
zend_array *arr;
zend_object *obj;
zend_resource *res;
zend_reference *ref;
zend_ast_ref *ast;
zval *zv;
void *ptr;
zend_class_entry *ce;
zend_function *func;
struct {
uint32_t w1;
uint32_t w2;
} ww;
} zend_value;
变量名:_zval
typedef struct _zval_struct zval;
struct _zval_struct {
zend_value value; /* value */
union {
struct {
ZEND_ENDIAN_LOHI_4(
zend_uchar type, /* active type */
zend_uchar type_flags,
zend_uchar const_flags,
zend_uchar reserved) /* call info for EX(This) */
} v;
uint32_t type_info;
} u1;
union {
uint32_t var_flags;
uint32_t next; /* hash collision chain */
uint32_t cache_slot; /* literal cache slot */
uint32_t lineno; /* line number (for ast nodes) */
uint32_t num_args; /* arguments number for EX(This) */
uint32_t fe_pos; /* foreach position */
uint32_t fe_iter_idx; /* foreach iterator index */
} u2;
};
变量类型【type】
/* regular data types */
#define IS_UNDEF 0
#define IS_NULL 1
#define IS_FALSE 2
#define IS_TRUE 3
#define IS_LONG 4
#define IS_DOUBLE 5
#define IS_STRING 6
#define IS_ARRAY 7
#define IS_OBJECT 8
#define IS_RESOURCE 9
#define IS_REFERENCE 10
/* constant expressions */
#define IS_CONSTANT 11
#define IS_CONSTANT_AST 12
/* fake types */
#define _IS_BOOL 13
#define IS_CALLABLE 14
/* internal types */
#define IS_INDIRECT 15
#define IS_PTR 17
true 和 flase 没有zend_value 结构, 直接通过type来区分,zend_long和double的变量指直接存储在_zend_value中,不需要额外的value指针。
关于php变量有类型的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php变量有类型 php类的属性的详细内容...