浅谈php中变量的数据类型判断函数

在php中我们可以通过 var_dump()打印出变量的类型和值。同时我们可以通过一些函数判断变量的类型。如果只是想得到一个变量的数据类型,可以使用gettype()函数,gettype($t) 返回$t的数据类型的字符串,要是$t不属于php中8种基本变量类型,返回"unknow type"。我们还可以通过is_type系类函数直接判断是否为type类型函数,是的话返回true ,不是返回false。

如:

is_bool()        是否为布尔型
is_int()         是否为整型
is_float()       是否为浮点型
is_string()      是否为字符串型
is_array()       是否为数组型
is_object()      是否为对象类型
is_resource()    是否为资源类型
is_null()        是否为空
is_scalar()      是否为标量型,即是一个整型 浮点型 布尔型 或者字符串型。
is_numeric()     是否为任何类型的数字或者数字字符串
is_callable()    是否是有效函数名

以上这篇浅谈php中变量的数据类型判断函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-09-17 08:45:44

浅谈php中变量的数据类型判断函数的相关文章

浅谈JavaScript中变量和函数声明的提升_javascript技巧

现象: 1. 在JavaScript中变量和函数的声明会提升到最顶部执行. 2. 函数的提升高于变量的提升. 3. 函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找. 4. 匿名函数不会提升. 5. 不同<script>块中的函数互不影响. 例子: 函数声明提升高于变量声明 //同时声明变量a和函数a var a; function a() {} alert(typeof a); //显示的是"function",初步证明function的优先级高于var.

浅谈JS中的bind方法与函数柯里化_javascript技巧

绑定函数bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值.不同于call和apply只是单纯地设置this的值后传参,它还会将所有传入bind()方法中的实参(第一个参数之后的参数)与this一起绑定. 关于这个特性看<JS权威指南>原文的例子: var sum = function(x,y) { return x + y }; var succ = sum.bind(null, 1); //让this指向null,其后的实参也会作为实参传入被绑定的函数sum

浅谈js中变量初始化_javascript技巧

我在js里面写了一个去除首尾空格及特定字符的函数.代码如下: 复制代码 代码如下: function trim(str, charlist) {     return str.replace(new RegExp('^[\\s'+charlist+']+|[\\s'+charlist+']+$', 'g'), ''); } 代码看上去没有什么问题,运行起来也没有错误. 直到今天,我在搜索栏里搜索"note3"的时候,才发现,地址栏里搜索的内容变成了"ote3",而其

浅谈PHP中关于foreach使用引用变量的坑

写PHP好多年,但仍然会犯低级错误,今天遇到个 foreach中引用变量时的坑,PHP版本为 5.6.12 代码如下: <?php $arr = ['a', 'b', 'c', 'd', 'e']; foreach ($arr as $i=>&$a) { $a = $a.'_'. $a; echo $a .'<br>'; } echo '<hr>'; foreach ($arr as $i=>$a) { echo $a .'<br>'; } e

浅谈VC中的字节对齐

原文地址:浅谈VC中的字节对齐 前几天时,在公司和同事说到了字节对齐,一直对这个概念比较模糊,只是在<程序员面试宝典>中看到过简单的描述和一些面试题.后来在论坛中有看到有朋友在询问字节对齐的相关问题,自己也答不上来,觉得应该研究一下,所以就有了这一篇博文,是对学习的一个总结,也是对成长轨迹的一个记录.       字节对齐,又叫内存对齐,个人理解就是一种C++中的类型在内存中空间分配策略.每一种类型存储的起始地址,都要求是一个对齐模数(alignment modulus)的整数倍.问题来了,为

浅谈java中BigDecimal的equals与compareTo的区别_java

这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都是以sun jdk 1.4.2版本为例,其他版本实现未必一致,请忽略] 首先看一下BigDecimal的equals方法: public boolean equals(Object x){ if (!(x instanceof BigDecimal)) return false; BigDecima

浅谈Java中的final关键字与C#中的const, readonly关键字_java

在编程语言中都有某种方式,告知编译器一块数据是恒定不变的.有两个需求 1. 一个永不改变的编译器常量 2. 一个在运行时被初始化的值,而这个值不会被改变 在Java中,使用final修饰变量实现这两个需求 <pre name="code" class="java">//编译器常量 private final int valueOne = 9; private static final int VALUE_TWO = 99; public static f

浅谈ASP中Request对象获取客户端数据的顺序

request|对象|客户端|数据 浅谈ASP中Request对象获取客户端数据的顺序 /**描述:在使用ASP Request对象时需要注意的小问题作者:慈勤强Email : cqq1978@yeah.net**/ 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了.虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写?strMessage = Request("msg")strMessage = Request.Form(&qu

浅谈JS中的!=、== 、!==、===的用法和区别_javascript技巧

var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 test !== num //false test与num类型相同,其值也相同, 非运算肯定是false num == str //true 把str转换为数字,检查其是否相等. num != str //false == 的 非运算 num === str //false 类型不同,直接返回fals