php查询变量类型,php判断变量类型常用方法

php 判断变量类型常用的函数主要有下列几个:

gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()

现在让我们了解下他们的具体的使用方法

gettype() 返回 PHP 变量的类型,返回的字符串的可能值为以下几种:

boolean(从 PHP 4 起)

integer

double(由于历史原因,如果是 float 则返回double,而不是float)

string

array

object

resource(从 PHP 4 起)

NULL(从 PHP 4 起)

user function(只用于 PHP 3,现已停用)

unknown type

注意:对于 PHP 4及以上,你应该使用 function_exists() 和 method_exists() 取代先前将 gettype() 作用于函数的用法。

这个函数大家应该很少用,其实对于这个函数也尽量不要用。php手册的建议是:不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含了字符串的比较,它的运行也是较慢的,所以尽量使用 is_* 函数代替。

is_array() 判断是否是数组,返回值为true或者false。

is_bool() 判断是否是boolean类型的变量,返回值为true或者false

is_float() 判断是否是浮点类型的变量,返回值为true或者false。注意:这里是检查数据类型的,浮点数字型变量和浮点数字符串类型的变量返回的结果是不一样的。

is_double 判断变量类型是否为倍浮点数类型,返回值为true或者false。这个基本同 is_float 一样,主要区别就是在小数点后面数字长度达到一定长度后,is_float 可能返回false,而 is_double 会依旧返回 true;

is_integer() 此函数是 is_int() 的别名函数,判断是否是整数类型的变量,返回值为true或者false。注意:对于正整数,负整数和0的数字类型变量,该函数都返回true,其他都返回空(包括字符串类型的整数);

is_null() 判断是否为NULL,返回值为true或者false。注意这里不是空,只有被判断的值为大小写不敏感的null的时候,才会返回true,对于'',0或者'0'他都将返回false;那么在php里面一个变量什么时候才会被认为是NULL的呢?

php手册里面说到,在下列情况下一个变量会被认为是 NULL:

(1)被赋值为 NULL。

(2)尚未被赋值。

(3)被 unset()。

is_numeric() 判断是否是数字,返回值为true或者false。这个函数判断条件非常宽松,只要是数字,无论你是字符串类型的,还是数字类型,无论是正的,负的,0,还是浮点数,都将返回true。其他则返回false。

is_object() 检测变量是否是一个对象,返回值为true或者false。

is_resource() 用于检测变量是否为资源类型,返回值为true或者false。

is_scalar() 检测变量是否是一个标量,返回值为true或者false。

is_string() 检测变量是否是字符串类型,返回值为true或者false。这里可以理解为他只检测类型,即使一个变量为空,只要是字符串类型,他也会返回 true;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac 爱普生打印机驱动_高效打印企业首选 爱普生M2178黑白多功能一体机评测

提到打印机相信每一个公司都配备了一台,因为它是日常办公中不可缺少。尽管现在很多的工作流程都已经可以在线上执行,且提倡无纸化办公,但很多重要的材料还是需要打印出来存档、签字。因此打印机还是一个非常必要的配置。对于一个企业来讲&…

python线程池操作_Python mutiprocessing多线程池pool操作示例

本文实例讲述了Python mutiprocessing多线程池pool操作。分享给大家供大家参考,具体如下:python — mutiprocessing 多线程 pool脚本代码:root72132server:~/python/multiprocess# lsmultiprocess_pool.py multprocess.pyroot72132server:~/p…

php ajax 加载列表,Ajax点击不断加载数据列表(图文教程)

这篇文章主要介绍了Ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下Ajax简介AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX 异步 JavaScript和XML(标准通用标记语言的子集)。AJAX 是…

python指定进程断网_python通过scapy模块进行arp断网攻击

前言:想实现像arpsoof一样的工具arp断网攻击原理:通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量。攻击者只要持续不断发送arp包就能造成中间人攻击或者断网攻击。0x01:准备工作Linux环境下:(windows环境下各种错误&#xff0c…

linux版_微软爱 Linux:安全杀毒软件 Defender ATP 要出 Linux 版了! | Linux 中国

微软宣布将于 2020 年将其企业安全产品 Defender 高级威胁防护(ATP)引入 Linux。-- Abhishek Prakash微软的年度开发者大会 Microsoft Ignite 刚刚结束,会上发布了一些与 Linux 有关的重要公告。你可能已经知道微软将 Edge Web 浏览器引入 Linux,而下一个…

php下载文件与服务器有关吗,php 下载文件功能中下载后文件大小与服务器源文件大小不一致...

1.根据网上下载文件的函数public function putFile($file_dir, $file_name){$file_dir chop($file_dir);//去掉路径中多余的空格//得出要下载的文件的路径if($file_dir ! ){$file_path $file_dir;if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) ! /)$file_path…

python哪个文字转语音好用_【python3】Python十行代码搞定文字转语音

都是copy的百度SDK文档,简单说说怎么用。1、没安装Python的参见此文:Python学习笔记系列 1 ——安装调试Python开发软件2、winr输入cmd打开命令行,输入:pip install baidu-aip,如下安装百度AI的模块。3、新建文本文档&…

php正则匹配怎么写,正则表达式 - 求助怎么写php的正则匹配

我要取出 字符串"userasdasd; tokendwwewee; typeassdfs" 里的token值dwwewee,php怎么写?真的不会写。。这样好像也不行preg_match("/(token)(.*?)(;|$)/i","userasdasd; tokendwwewee; typeassdfs", $matches);foreach …

msp430中如何连续对位进行取反_四元数数控:如何保养视觉对位平台?

视觉对位平台由于人工衍生出来的各种问题应运而生,诸如高度要求的良率,生产速度的大幅提升,人员无法达成的精准度等等,对于未来这种高度自动化程度的产业更是不可或缺的产品。视觉对位平台就是一种利用XY向的移动单元加上θ角的微量转向,达到两个工作物体的组合。而且对位平台是…

ic启动器怎么导入模组_5G手机主板专题报告:高阶产能紧俏,5G手机主板升级蛋糕怎么分...

(获取报告请登陆未来智库www.vzkoo.com)一、智能机进入 5G 时代,主板方案望迎阶数跃迁5G 手机主板需求升级或将带来行业高端产能供给偏紧,A 股高端 HDI 供应商望受益。 当前时点手机各个维度的创新升级都对主板技术路线产生影响,芯片 I/O 数增…

element tree不刷新视图_Vue项目布署后,刷新页面404的真正原因找到了

从一篇日记说起我是一个小前端,我有写日记的习惯2020年10月17 天气 晴今天天气不错,心情也跟着好起来了辛辛苦苦加班两个星期终于完成了产品需求,到了要上线的时候了,嘴里也不知不觉哼起了“劳资今晚不加班”的小曲一顿操作猛如虎…

php mate,[树莓派] ubuntu-mate配置nginx + php7.0环境

树莓派3b,系统 ubuntu-mate 16.041、安装 Nginx 和 PHP7sudo apt-get updatesudo apt-get install nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-sqlite3 php7.0-mysqlsudo service nginx startsudo service php7.0-fpm restart复制代码…

编程加速服务器_FPGA加速驱动新时代的数据洪流,下篇

目 录人工智能计算加速器产品系列的相关布局FPGA开发的痛点与潜在方案结语在《FPGA加速驱动新时代的数据洪流,上篇》中,老石介绍了英特尔应对大数据时代的整体战略布局,特别是基于FPGA的各类智能网卡和网络解决方案。在本篇中,老石…

respond with a status of 40_高中英语作文高分秘籍!50组高级替换词+40个高级句型+88个高级词组,还不快记下!...

很多同学都发现,高中阶段对于写作的考查要求更高,一篇没有错误但平淡无奇的文章是拿不到高分的,保证正确性的前提下,写作必须要有出彩之处才能得到阅卷老师的青睐,今天就为大家分享高中写作50组高级替换词40个高级句型…

try catch php 捕获,php try catch : 捕捉异常,抛出异常

php try catch : 捕捉异常,抛出异常:/*** 构造函数:自动加载连接数据库* param $database $key* return*/private function __construct($database array(), $key){try{$this->server $database[db_host];$this->username $database[db_user];$…

python信息管理系统实战_最新python入门+进阶+实战课堂教学管理系统开发全套完整版...

Pythonpillow图像编程1:pillow扩展库安装与基础用法.aviPythonpillow图像编程2:Image子模块用法1.aviPythonpillow图像编程3:Image子模块用法2.aviPythonpillow图像编程4:案例:计算任意椭圆中心.aviPythonpillow图像…

iphone分屏功能怎么用_iPhone上10个隐藏小技巧,怎么用怎么爽

离上一期iPhone技巧已经过了四个多月时间了,不少朋友在后台一直催小雷赶紧出下一期。为了不让你等太久,所以今天小雷就奉上新的一期(也是防止你们等得不耐烦了以至于想捶我)。这期干货实在太多,如果其中有一些你们之前get过的话,就…

apt-get install php5-redis,Ubuntu安装redis和php5-redis扩展

最近Ubuntu11被玩坏了,因为装个php5-redis找不到安装包引起的问题,在segmentfault上提问(http://segmentfault.com/q/1010000000735952)也没有真正得到解决。所以将系统换成最新的Ubuntu14,之前把环境什么都配置好了的,就连php5-r…

太阳能板如何串联_太阳能光伏系统单晶和多晶模组的差异?农村家庭自用如何科学选择...

太阳能光伏想必大家都耳熟能详,因其环保且属于可再生能源,目前在农村很多居民屋顶都已经铺设了光伏发电系统,即节省了电费开支又能并入国家电网,所以近些年来我国的光伏产业得到了很好的发展,是目前发展最快的清洁能源…

数据查询和业务流分开_TiDB HTAP 助力小红书业务升级

作者介绍:张亿皓,小红书基础技术部资深开发工程师,负责数据库相关的研发和落地工作。TiDB 在小红书业务场景的应用简介2017 年,小红书已经开始在生产业务中使用 TiDB ,真正成体系的去做 TiDB 的落地是在 2018 年&#…