美文网首页
PHP 变量类型转换的原理

PHP 变量类型转换的原理

作者: lotusgrm | 来源:发表于2020-10-03 01:41 被阅读0次

PHP 中的所有变量都是被存储在 zval 变量容器中,在 zval 变量容器中主要是包含 变量名、变量值、变量类型 Type、以及另外两个额外的字段 is_ref、refcount,其中 Type 是用来标识变量的类型,它可以是 int、float、array、object等,变量的类型主要依赖于 zval.type,变量的内容根据 zval.type 存储到 zval.val 中,在 php 中进行变量转换只需要两步:
1 把 zval.val 的值或指针改变 2.再把 zval.type 的类型改变

变量转换的原理:
1.标准类型之间的转换,只需要按照上面两步进行即可
2.标准类型和资源类型之间的转换,转换成资源类型以后会被回收
3.标准类型和复杂类型之间的转换,Array 转换成 int/float,返回 Array 中元素的个数,Array 转换成 bool,返回 Array 中是否有元素,Array 转换成 string ,返回 'Array' ,抛出 warning
4.复杂类型之间的转换,array 和 object 之间可以相互转换,其他任何类型的值转换成对象,都会创建一个内置类的实例

相关文章

  • PHP 变量类型转换的原理

    PHP 中的所有变量都是被存储在 zval 变量容器中,在 zval 变量容器中主要是包含 变量名、变量值、变量类...

  • PHP入门之︰数据类型转换

    PHP中的变量的运算,必须是同类型才能运算,如果类型不同,要转成同类型才能运算。变量类型转换分为:自动转换和强制转...

  • PHP

    php 超文本预处理器运行原理 文件格式 变量命名 引号 数据类型 类型转换 系统常量 运算符 流程控制 循环 作...

  • 数据类型转换,循环体

    PHP其余数据类型转换为逻辑型 强制转换:settype(变量名,类型);隐式转换,根据语句转换*数字——bool...

  • PHP代码安全--类型对比

    字符串与数字对比 原理: php的对比运算时,是会将两个变量都转换为相同类型,不同变量的无法对比当字符串和int类...

  • php变量和数据类型

    php中的变量 PHP中的变量声明 PHP中的变量的使用 PHP中的数据类型之整型 PHP数据类型之浮点类型和布尔...

  • PHP数据类型转换

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形(flo...

  • 》》》PHP初入---(二)

    数据转换 数据类型转换为逻辑的规则:强制转换:settype(变量,类型)--将变量转换为指定的类型隐式转换:根据...

  • php中的变量和常量

    php是弱类型语言,变量类型和存入的值相关 变量 php中声明一个变量用 $符 php中变量的命名规范 可变变量:...

  • Houdini VEX(十六)类型转换

    一、类型转换 转换变量类型方法通常是变量类型( 要转化的变量 )如 float(100) -> 100.0 示例:...

网友评论

      本文标题:PHP 变量类型转换的原理

      本文链接:https://www.haomeiwen.com/subject/pdgiuktx.html