php语法问题

WBOY
WBOYOriginal
2016-06-06 20:18:021212Durchsuche

  • var_dump('89:90' == 89);
    打印出来是true,怎么理解?

回复内容:

  • var_dump('89:90' == 89);
    打印出来是true,怎么理解?

一个字符串和一个整型做比较,这时候,字符串是会被强转成整型的。
<code>var_dump(intval('89:90'));</code> //int 89
所以就是true了

<code>var_dump(intval('89:90'));</code>

你试下这个就知道了 == 是做类型转换后在比较。 === 不做类型转换

这里的两个==会将值进行比较,如果类型不一致会进行自动转换(注:很多人称之为强制转换,不对的,强制转换是int()这样,面试会有坑)

由于php底层语言是c写的,所以转换规则是c语言的转换规则。 char->int->float->double由小到大,不可以反过来。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn