• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP类型判断

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1》常规类型判断

isset(): //变量是否已经声明

empty(): //变量是否为空,等于说:”"、0、”0″、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

defined()://常量是否已经定义 define()

is_numeric ( mixed var ): //检测变量是 否为数字或数字字符串

is_bool(): // 检测变量是否是布尔型

is_float(): // 检测变量是否是浮点型 和is_double,is_real()都一样的用法

is_int(): // 检测变量是否是整数is_integer() 一样的 用法

is_string(): // 检测变量是否是字符串

is_object(): // 检测变量是否是一个对象

is_array(): // 检测变量是否是数组

is_null(): // 检测变量是否为 NULL 值是否是NULL大小写敏感

2》全局方法和对象内方法判断

全局方法判断:bool function_exists ( string $function_name )

对象内部方法判断:bool method_exists ( mixed $object , string $method_name )

3》对象实列判断 instanceof

//以下是匿名函数定义
$value= function($path) use (&$deleteDirectory) {
    $resource = opendir($path);
    while (($item = readdir($resource)) !== false) {
        if ($item !== "." && $item !== "..") {
            if (is_dir($path . "/" . $item)) {
                $deleteDirectory($path . "/" . $item);
            } else {
                unlink($path . "/" . $item);
            }
        }
    }
    closedir($resource);
    rmdir($path);
};
判断$value是不是一个匿名function闭包
if($value instanceof \Closure) {
}
判断$value是不是一个Model类实例 
if($value instanceof Model) { 
}

 

4>判断一个数组是关联数组,还是索引数组

  关联数组是键值对形式数据,索引数组是按照下标访问。思路是取出数组的keys,查看是数字还是字符串

/**
 * 判断数组是否为索引数组
 */
function is_indexed_array($arr)
{
    if (is_array($arr)) {
        return count(array_filter(array_keys($arr), \'is_string\')) === 0;
    }
    return false;
}
/**
 * 判断数组是否为连续的索引数组
 * 以下这种索引数组为非连续索引数组
 * [
 *   0 => \'a\',
 *   2 => \'b\',
 *   3 => \'c\',
 *   5 => \'d\',
 * ]
 */
function is_continuous_indexed_array($arr)
{
    if (is_array($arr)) {
        $keys = array_keys($arr);
        return $keys == array_keys($keys);
    }
    return false;
}
/**
 * 判断数组是否为关联数组
 */
function is_assoc_array($arr)
{
    if (is_array($arr)) {
        // return !is_indexed_array($arr);
        return count(array_filter(array_keys($arr), \'is_string\')) === count($arr);
    }
    return false;
}
/**
 * 判断数组是否为混合数组
 */
function is_mixed_array($arr)
{
    if (is_array($arr)) {
        $count = count(array_filter(array_keys($arr), \'is_string\'));
        return $count !== 0 && $count !== count($arr);
    }
    return false;
}

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于FleaPHP的PHP项目启动!发布时间:2022-07-10
下一篇:
thinkphp5或3.2php动态修改config配置文件永久保存发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap