这样也行?

所有字母的字符串 和 0 都是恒等的?求解释

if("e" == 0){
echo "Yes";
}
#result:
#Yes
...全文
125 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyxl 2012-05-30
  • 打赏
  • 举报
回复

结贴,结贴,结贴..
[Quote=引用 7 楼 的回复:]

我试过了,所有非数字的字符串和0比较都会是恒等
PHP code

if("*" == 0)
echo "Yes";
#Yes
if("e" == 0){
echo "Yes";
#Yes
if("1" == 0)
echo "Yes";
#


感谢楼上各位对这种小问题的关心。看来我忽略的细节还有很多
[/Quote]
  • 打赏
  • 举报
回复
我试过了,所有非数字的字符串和0比较都会是恒等

if("*" == 0)
echo "Yes";
#Yes
if("e" == 0){
echo "Yes";
#Yes
if("1" == 0)
echo "Yes";
#

感谢楼上各位对这种小问题的关心。看来我忽略的细节还有很多
ted 2012-05-30
  • 打赏
  • 举报
回复
没试过,学习了。
andyxl 2012-05-30
  • 打赏
  • 举报
回复

这句说法是错的,“字符串中有整数出现,则取第一次出现的位置,转换成int (print:1) ”

应该是这样:

字符串中有整数出现,并且整数在字符串的起始位置,则取出,转换成int

[Quote=引用 4 楼 的回复:]

这样解决更清楚:

echo intval('e');#转换不成功,默认0(print:0)
echo intval('1ds2e');#字符串中有整数出现,则取第一次出现的位置,转换成int (print:1)

引用 2 楼 的回复:

this way : PHP code
echo "e" === 0;
[/Quote]
andyxl 2012-05-30
  • 打赏
  • 举报
回复
这样解决更清楚:

echo intval('e');#转换不成功,默认0(print:0)
echo intval('1ds2e');#字符串中有整数出现,则取第一次出现的位置,转换成int (print:1)

[Quote=引用 2 楼 的回复:]

this way : PHP code
echo "e" === 0;
[/Quote]
kyzy_yy_pm 2012-05-30
  • 打赏
  • 举报
回复
php会自动转换变量的类型,int和string对比那么会将string转成int,如此一来所有字符串都是0,那么结果也就确定了,你可以用===全等来判断
andyxl 2012-05-30
  • 打赏
  • 举报
回复
this way :
echo "e" === 0;
yijian5220 2012-05-30
  • 打赏
  • 举报
回复
"e" 不是变量 在内存中什么都没有.......

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧