雅虎新闻|| BBC新闻|| CNN新闻|| 美元指数|| 中国期货指数|| 股票指数|| 黄金|| 外汇|| 英汉互译|| 昭放工具
163邮箱|| 126邮箱|| 新浪邮箱|| 企业邮箱|| 21cn邮箱|| tom邮箱|| 搜狐邮箱|| hotmail邮箱|| msn邮箱|| qq邮箱

用户登录

设为主页| 淘宝铺| 加入收藏|
您的IP:3.129.42.198您的操作系统:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
个人便签
知识库
php里面的===

为什么我用一个非空字符串与0做比较结果为真?

例如

$test01="hello"

if($test01==0){

echo "true"

}

else{

echo"false"

}

输出的结果为true

希望能给解释一下原理。

 

 

 

 

最佳答案

不同变量类型进行比较的时候,PHP有内部机制进行转换,再加以比较。

$test01 == 0

应该是把 $test01 转化成整型再进行比较,所以结果就是 true 了。

 

如果不熟悉内部机制,在比较之前,尽量自己转化为相同类型再进行比较。

 

比较安全的做法就是用 === (三个等于号),这样不仅比较内容,还比较类型,如果类型不一致就按 false 处理。

星期一, 10/31/2016 - 17:20 — 杨超