zoukankan      html  css  js  c++  java
  • 判断对象的变量是否存在,isset和property_exists区别

    判断类的变量是否存在,可以用isset和property_exists判断,他们俩有着细微的区别。首先我们翻一下手册了解一下两者的具体功能。

     property_exists:检查对象或类是否具有该属性(以及是否能在当前范围内访问)。如下图

     只要是类定义了该变量,无论是public还是private,用property_exists都能检测出来。

    isset:检测变量是否已设置并且非 NULL,如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

    如下图,定义了类成员变量$param且没有给它赋值,此时isset判断是false,相当于没有这个变量,而property_exists为true。当$param有值时,isset和propery_exists都为true。当$param有值又unset掉该值时,propery_exists依然为true,而isset则为false。

     总的来说,isset和property_exists都可以用来检验类成员变量,但是property_exists更准确点。

  • 相关阅读:
    Go map 切片
    Go map 增删改查和遍历
    Go map 基本使用
    Go 二维数组
    Go 切片
    Go 数组
    Go 错误处理 defer recover panic
    Go time模块
    5分钟入门MP4文件格式
    写盘工具
  • 原文地址:https://www.cnblogs.com/smallzhen/p/11925311.html
Copyright © 2011-2022 走看看