php 判断变量类型程序代码详解

string gettype ( mixed $var ) 返回 PHP 变量的类型 var.

 代码如下 复制代码

<?php
function get_type($var)
{
    if(is_object($var))
        return get_class($var);
    if(is_null($var))
        return 'null';
    if(is_string($var))
        return 'string';
    if(is_array($var))
        return 'array';
    if(is_int($var))
        return 'integer';
    if(is_bool($var))
        return 'boolean';
    if(is_float($var))
        return 'float';
    if(is_resource($var))
        return 'resource';
    //throw new NotImplementedException();
    return 'unknown';
}
?>

官方说:不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含

了字符串的比较,它的运行也是较慢的。

使用 is_* 函数代替。

 代码如下 复制代码

<?php
    /**
     * Returns the type of the var passed.
     *
     * @param mixed $var Variable
     * @return string Type of variable
     */
    function myGetType($var)
    {
        if (is_array($var)) return "array";
        if (is_bool($var)) return "boolean";
        if (is_float($var)) return "float";
        if (is_int($var)) return "integer";
        if (is_null($var)) return "NULL";
        if (is_numeric($var)) return "numeric";
        if (is_object($var)) return "object";
        if (is_resource($var)) return "resource";
        if (is_string($var)) return "string";
        return "unknown type";
    }
?>

其它的些变量类型判断收藏

array_key_exists(mixed key, array search) ://检查给定的键名或索引是不是存在于数组中  判断数据类型

is_numeric ( mixed var ): //检验测定变量是不是为数码或数码字符串

is_bool($ var): //检验测定变量是不是是布尔型

is_float($ var): //检验测定变量是不是是浮点型 和is_double,is_real()都同样的用法

is_int($ var): //检验测定变量是不是是整儿is_integer()同样的用法

is_string($ var): //检验测定变量是不是是字符串

is_object($ var): //检验测定变量是不是是一个对象

is_array($ var): //检验测定变量是不是是数组

is_null($ var): //检验测定变量是不是为 null

时间: 2024-07-31 21:07:24

php 判断变量类型程序代码详解的相关文章

PHP判断浏览器类型程序代码详解

PHP如何判断浏览器类型及浏览器语言因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型.语言). 这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言). 我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了. 判断浏览器类型:  代码如下 复制代码  <?php echo $_SERVE

WinForm控件开发总结(六) 控件属性类型转换器代码详解

在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器, 现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义. 要实现一个类型转换器,我们必须要重写(override)四个方法: CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我 们只提供转换string和InstanceDescriptor类型的能力. CanConvertTo()――根据类型参数进行测试,判断是否能从当前类型转换成指定的类型. C

PHP 判断变量类型实现代码_php基础

PHP 包括几个函数可以判断变量的类型,例如:gettype(),is_array(),is_float(),is_int(),is_object() 和 is_string(). 复制代码 代码如下: <?php $s = "this is a string"; $i = 9; $arr = array(2,4,6); is_string($s); //返回TRUE,表示$s是一个字符串变量 is_string($i); //返回FALSE,表示$i不是一个字符串变量 is_a

php简单分页实例程序代码详解

php分页例子  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.111cn.net /TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht

PHP的变量类型和作用域详解

 什么是变量的作用域?变量的作用域是指在脚本的一次生命周期内变量的有效范围.一般来说有全局和局部之分 PHP中变量的作用域可以分为:超全局(全局变量的特殊类型,在局部范围里可直接使用),全局,局部,静态(是局部变量的特殊类型) 在PHP中,全局变量实际上是静态全局变量,如果不用unset显式的释放,那么等脚本运行结束全局变量才会被释放掉 局部静态变量细分可以是 局部静态函数变量(函数中声明的static变量),局部静态成员变量(类中声明的 static 属性,被所有类实例共享) 局部静态变量只有

PHP的变量类型和作用域详解_php技巧

PHP中变量的作用域可以分为:超全局(全局变量的特殊类型,在局部范围里可直接使用),全局,局部,静态(是局部变量的特殊类型)在PHP中,全局变量实际上是静态全局变量,如果不用unset显式的释放,那么等脚本运行结束全局变量才会被释放掉局部静态变量细分可以是 局部静态函数变量(函数中声明的static变量),局部静态成员变量(类中声明的 static 属性,被所有类实例共享)局部静态变量只有脚本运行结束才会被自动释放 超全局变量:在一个脚本的任何作用域里都可以被访问,这些都是PHP内置的 复制代码

javaScript判断变量是否是数组详解

javascript中要判断一个变量是否为array通常是比较困难的,因为  代码如下 复制代码  var a = [];  alert(typeof a === 'object'); // true 通常的做法是判断  代码如下 复制代码  a.constructor === Array  // 最后我们google找到了一个方法  代码如下 复制代码 function isArray(arr) {      return Object.prototype.toString.apply(arr

艾伟:WinForm控件开发总结(六)-----控件属性类型转换器代码详解

      在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器,现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义.       要实现一个类型转换器,我们必须要重写(override)四个方法:       CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我们只提供转换string和InstanceDescriptor类型的能力.       CanConvertTo()――根据类型参数进行测试

Javascript调用父窗口程序代码详解

父面页代码:  代码如下 复制代码 <!DOCTYPE HTML PUBLIC "-//IETF//DTD LEVEL1//EN"> <html> <head> <title>html.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equ