美文网首页
注意PHP的隐式类型转换

注意PHP的隐式类型转换

作者: zshanjun | 来源:发表于2017-06-28 17:35 被阅读31次

Beware of certain control behavior with boolean and non boolean values :


<?php
// Consider that the 0 could by any parameters including itself
var_dump(0 == 1); // false
var_dump(0 == (bool)'all'); // false
var_dump(0 == 'all'); // TRUE, take care
var_dump(0 === 'all'); // false

// To avoid this behavior, you need to cast your parameter as string like that :
var_dump((string)0 == 'all'); // false
?>

这里也许大家会对var_dump(0 == 'all'); // TRUE, take care感到比较疑惑,其实原因是因为php在使用==进行比较时,会先将all尝试着转换为数字,这里因为里面并没有包含有效的数字,因此转换得到结果就是0,于是结果为true。


转载自:

相关文章

  • php的数据类型的转换和运算符

    主要分为两种,自动转换和强制类型转换,也就是显式转换和隐式转换,自动转换用的多 php中强制类型转换 在php中的...

  • 注意PHP的隐式类型转换

    Beware of certain control behavior with boolean and non b...

  • 03-数据类型转换

    数值类型转换 C语言中存在显式转换和隐式转换 Go语言中只有显式转换 Go语言中数值类型转换注意点 数值类型转换为...

  • 数据类型转换,循环体

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

  • 数据类型转换

    写在前面 C/C++编程中常见数据类型转换,包括隐式类型转换和显式类型转换。 1. 隐式类型转换 隐式类型转换在以...

  • 接口:从协议到抽象基类

    杂谈: 强类型:很少使用隐式转换类型,如 Python、Java、C++反之为弱类型,如 PHP、JavaScri...

  • 04_什么是隐式转换?什么是显式转换?

    一、什么是隐式转换? 1.1、隐式转换 隐式类型转换,也称自动类型转换,是指不需要书写代码,由系统自动完成的类型转...

  • Java 学习笔记_2

    1、隐式转换 和 强制类型转换 隐式转换: 又叫自动类型转换。由系统自动完成的类型转换. 从存储范围小的类型到存储...

  • C++类型转换

    C++的类型转换分为隐式转换和显式转换 隐式转换举例: int i=4; double d=i;//隐式转换 显式...

  • JavaSE之隐式转换、强制转换

    课前小例 转换类型:隐式转换(自动类型转换)、强制类型转换 隐式转换:两种类型彼此兼容,范围小的类型转成范围大的类...

网友评论

      本文标题:注意PHP的隐式类型转换

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