php获取变量数据类型 php获取变量数据类型有哪些

PHP变量名、变量值、类型变量名 =》 zval
变量值 =》zend_value
问题:
引用计数
变量传递,变量赋值
变量的基础结构
变量值:zend_value
typedef union _zend_value {
zend_longlval;/* long value */
doubledval;/* 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
【php获取变量数据类型 php获取变量数据类型有哪些】 typedef struct _zval_structzval;
struct _zval_struct {
zend_valuevalue;/* value */
union {
struct {
ZEND_ENDIAN_LOHI_4(
zend_uchartype,/* active type */
zend_uchartype_flags,
zend_ucharconst_flags,
zend_ucharreserved)/* call info for EX(This) */
} v;
uint32_t type_info;
} u1;
union {
uint32_tvar_flags;
uint32_tnext;/* hash collision chain */
uint32_tcache_slot;/* literal cache slot */
uint32_tlineno;/* line number (for ast nodes) */
uint32_tnum_args;/* arguments number for EX(This) */
uint32_tfe_pos;/* foreach position */
uint32_tfe_iter_idx;/* foreach iterator index */
} u2;
};
变量类型【type】
/* regular data types */
#define IS_UNDEF0
#define IS_NULL1
#define IS_FALSE2
#define IS_TRUE3
#define IS_LONG4
#define IS_DOUBLE5
#define IS_STRING6
#define IS_ARRAY7
#define IS_OBJECT8
#define IS_RESOURCE9
#define IS_REFERENCE10
/* constant expressions */
#define IS_CONSTANT11
#define IS_CONSTANT_AST12
/* fake types */
#define _IS_BOOL13
#define IS_CALLABLE14
/* internal types */
#define IS_INDIRECT15
#define IS_PTR17
true 和 flase 没有zend_value 结构, 直接通过type来区分,zend_long和double的变量指直接存储在_zend_value中 , 不需要额外的value指针 。
php怎么判断数据类型is_array — 检测变量是否是数组
is_bool — 检测变量是否是布尔型
is_callable — 检测参数是否为合法php获取变量数据类型的可调用结构
is_double — is_float php获取变量数据类型的别名
is_float — 检测变量是否是浮点型
is_int — 检测变量是否是整数
is_integer — is_int php获取变量数据类型的别名
is_iterable — Verify that the contents of a variable is an iterable value
is_long — is_int php获取变量数据类型的别名
is_null — 检测变量是否为 NULL
is_numeric — 检测变量是否为数字或数字字符串
is_object — 检测变量是否是一个对象
is_real — is_float 的别名
is_resource — 检测变量是否为资源类型
is_scalar — 检测变量是否是一个标量
is_string — 检测变量是否是字符串
有关于PHP中常见数据类型的汇总分享PHP
数据类型
PHP
支持八种原始类型(type) 。
四种标量类型:
string(字符串)
integer(整型)
float(浮点型,也作
double

boolean(布尔型)
两种复合类型:
array(数组)
object(对象)
两种特殊类型:
resource(资源)
NULL(空)
查看变量类型
通过
gettype()
函数可以方便的查看某个变量的类型:
复制代码
代码如下:
?php$var_bool
=
TRUE;
//
a
boolean$var_str
=
"foo";
//
a
string$var_int
=
12;
//
an
integerecho
gettype($var_bool);
//
输出
booleanecho
gettype($var_str);
//
输出
stringecho
gettype($var_int);
//
输出
integer?
(PS:T不错的PHP
Q扣峮:276167802,验证:csl)
提示
由于历史原因,如果是
float
类型数据 , gettype()
函数返回的是
double,而不是
float

如果想查看某个表达式的值和类型 , 请使用用
var_dump()
函数 。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用
gettype()
, 而使用
is_type
系列函数:
复制代码
代码如下:
?php$var_int
=
12;//
如果
$var_int

int
类型,这进行加法if
(is_int($var_int))
{
$var_int
=
$var_int 4;}echo
$var_int;
//
输出
16?
以上是本文关于PHP
数据类型的汇总 , 希望本文对广大php开发者有所帮助,感谢您阅读本文 。
php 获取 sql 数据类型describe tablename;//获取表结构信息
describe tablename fieldname;//获取表的某个字段结构信息
比如:describe users username; //获取users表的username字段的结构信息
返回:array(
'Field'='username',
'Type'='varchar(50)',
'Null'='NO',
'Key'='UNI',
'Default'='',
'Extra'=''
)
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获取变量数据类型有哪些、php获取变量数据类型的信息别忘了在本站进行查找喔 。

    推荐阅读