PHP中的GetType和SetType
大部分的可变函数都是用来测试一个函数的类型的。PHP中有两个最常见的函数,分别是gettype()和settype()。这两个函数具有如下所示的函数原型,通过他们可以获得要传递的参数和返回的结果。
- string gettype(mixed var);
- bool settype(mixed var,string type);
要使用gettype()函数,必须先给它传递一个变量。它将确定变量的类型并且返回一个包含类型名称的字符串:bool、int、double、string、array、object和resource。如果变量类型不是标准类型之一,该函数就会返回“unknown type(未知类型)”。
要使用settype()函数,必须先给它传递一个要被改变的变量,以及一个包含了上述类型列表中的某个类型的字符串,比如下面的例子:
- <?php
- $a = 56;
- echo GetType($a) . '<br />'; //将会输出 integer
- settype($a, 'double');
- echo GetType($a). '<br />'; //将会输出double
- ?>
当第一次调用gettype()时,$a 的类型是整数。在调用setype()后,它就变成了双精度类型。
PHP还提供了一些特定类型的测试函数。每一个函数都使用一个变量作为其参数,并且返回 true 或 false 。这些函数如下:
- is_array():检查变量是否是数组。
- is_double()、is_float()、is_real() (所有都是相同的函数):检查变量是否是浮点数。
- is_long()、is_int()、is_integer() (所有都是相同的函数):检查变量是否是整数。
- is_string():检查变量是否是字符串。
- is_bool():检查变量是否是布尔值。
- is_object():检查变量是否是一个对象。
- is_resource():检查变量是否是一个资源。
- is_null():检查变量是否是null。
- is_scalar():检查该变量是否是标量,即,一个整数、布尔值、字符串或浮点数。
- is_numeric():检查该变量是否是任何类型的数字或数字字符串。
- is_callable():检查该变量是否是有效的函数名称。
PHP中的GetType和SetType的更多相关文章
- 对ContentProvider中getType方法的一点理解
在上篇博客中我们介绍了自定义ContentProvider,但是遗漏掉了一个方法,那就是getType,自定义ContentProvider一般用不上getType方法,但我们还是一起来探究下这个方法 ...
- [php-src]窥探Php内核中的变量
内容均以php-5.6.14为例. 在看各种组合数据类型之前,有必要先熟悉下 Zend/zend_types.h 里面的自定义数据类型. #ifndef ZEND_TYPES_H // 防止多次 in ...
- .NET中可空值类型实现原理
为了让.Net中的值类型可以赋值为null,微软特地添加了Nullable<T>类型,也可简写为T?.但是Nullable<T>自身是结构体,也是值类型,那么它是如何实现将nu ...
- 如何在 ShardingSphere 中开发自己的 DistSQL
在<DistSQL:像数据库一样使用 Apache ShardingSphere>和<SCTL 涅槃重生:投入 RAL 的怀抱>中,已经为大家介绍了 DistSQL 的设计初衷 ...
- android ContentResolver详解
查询出来的cursor的初始位置是指向第一条记录的前一个位置的cursor.moveToFirst()指向查询结果的第一个位置.一般通过判断cursor.moveToFirst()的值为true或fa ...
- php核心知识要点
Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语 ...
- PHP--最常用--必背函数总结!php学习者收藏必备!
一.PHP系统函数 函数 功能 用法 var_dump() 打印变量结构信息,包括类型和值.数组将递归展开值 var_dump ( $arg1...); echo():是语法结构 输出一个或者多个字符 ...
- Android ContentResolver
在Android 应用程序之间数据共享—-ContentResolver中,已经说明了Android是如何实现应用程序之间数据共享的,并详细解析了如何获取其他应用 程序共享的数据.ContentPro ...
- Android 实现Xmpp工具类
/** * XMPP服务器连接工具类. * * @author chen.lin * */ public class XmppManager { private static final String ...
随机推荐
- .net 委托的使用方法以及使用委托的好处
使用方法: //无返回值无参数委托的定义方法 public delegate void NoReturnPara(); 给委托赋值的几种方式 //实例化委托,并传入方法 NoReturbNoPara ...
- Nodejs的运行原理-架构篇
前言 本来是想只做一个Nodejs运行原理-科普篇,但是收到了不少私信,要我多分享一些更进阶,更详细的内容,所以我会在接下来的两个月里继续更新Nodejs运行原理. PS:此系列只做Nodejs的运行 ...
- 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
新年快乐,继续来部分粘贴复制我的这一系列文章啦,如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://www.gitbook.com/@rogerz ...
- Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- javamelody 使用
javamelody 扩展API如何获取监控参数 https://github.com/javamelody/javamelody/wiki/ExternalAPI#json
- lastIndex对正则结果的影响
前言 今天遇到一个问题,用正则表达式去检查同一个字符串时,交替返回true和false.无奈之下,重新翻了翻权威指南,发现罪魁祸首原来是lastIndex.可在控制台尝试下 let reg = /[\ ...
- 7、正确的赚钱方式 - CEO之公司管理经验谈
创业者创办公司,最初的目的就是为了赚钱,而普通的员工来公司上班,为了生计,也是以赚钱为目的.今天我们就讲讲正确的赚钱方式. 一.去公司上班: 来公司上班是第一个主要的赚钱方式.不管是员工还是公司领导, ...
- vue2.0表单事件的绑定
v-model 1.input type="text" <template> <div id="app"> <label for= ...
- JavaBean入门笔记
看了JavaBean感觉很困惑,不知道什么意思,直到查看了资料发现自己理解错误,把JavaBean误当成一种技术,其实Java Bean只是符合一定规范的Java类,便于封装重用.符合这种规范的Jav ...
- 使用dropwizard(4)-加入测试-jacoco代码覆盖率
前言 dropwizard提供了一个简单的测试框架.这里简单集成并加入jacoco测试. Demo source https://github.com/Ryan-Miao/l4dropwizard 本 ...