Heim >Backend-Entwicklung >PHP-Tutorial > 请问case语句

请问case语句

WBOY
WBOYOriginal
2016-06-13 13:09:28779Durchsuche

请教case语句
$a = '*';
switch($a)
{
  case 1: echo ' (int)one';
  case 0: echo ' (int)zero';
  case '0': echo ' (string)zero';
  case '*': echo ' (string)star';
  case true: echo ' (bool)true';
  case false: echo ' (bool)false';

上面这段为什么输出//(int)zero (string)zero (string)star (bool)true (bool)false 
而不是输出//(string)star (bool)true (bool)false

------解决方案--------------------
每一句后面你都没写 break;它就继续匹配下一个case
------解决方案--------------------
因为case是弱类型比较
将字符串与数字比较的时候,字符串会被强制转换成数字

而你这个字符串强制转换后是0

所以就与0相等了

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