>백엔드 개발 >PHP 튜토리얼 > 这样也行?该怎么解决

这样也行?该怎么解决

WBOY
WBOY원래의
2016-06-13 13:29:26879검색

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

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
if("e" == 0){
    echo "Yes";
}
#result:
#Yes



------解决方案--------------------
"e" 不是变量 在内存中什么都没有.......
------解决方案--------------------
this way :
PHP code
echo "e" === 0;
<br><font color="#e78608">------解决方案--------------------</font><br>php会自动转换变量的类型,int和string对比那么会将string转成int,如此一来所有字符串都是0,那么结果也就确定了,你可以用===全等来判断
<br><font color="#e78608">------解决方案--------------------</font><br>这样解决更清楚:<br><br>echo intval('e');#转换不成功,默认0(print:0)<br>echo intval('1ds2e');#字符串中有整数出现,则取第一次出现的位置,转换成int (print:1)<br><br>
探讨

this way : PHP code
echo "e" === 0;

------解决方案--------------------

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

应该是这样:

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

探讨

这样解决更清楚:

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

引用:

this way : PHP code
echo "e" === 0;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.