php中switch以下輸出結果為什麼是1不是

2021-03-10 18:37:38 字數 642 閱讀 4815

1樓:胃疼

我是這麼理解的抄

switch後面括號裡的東西襲(這裡的東西可以是表示式也可以是一個值) 與case 後面的東西(這裡的東西可以是表示式也可以是值)進行比較,如果相等就能進去該case,如果不相等則不能進入該case

然後看你的**

首先你的switch後面括號裡的東西是$a,也就是0,看第一個case後面是$a>=0,這是一個表示式,因為$a=0,所以$a>=0這個表示式是true,然後拿0和true進行比較,顯然0是不等於true的,所以第一個case是走不進去的

在看第二個case $a>=10 這個表示式是false,然後拿0和false比較,顯然0等於false,所以是可以走進第二個case的

2樓:匿名使用者

$a>=0 的結果是true

$a>=10的結果是false

而因為php是弱語言,可以將false看作0,也就是說在php中0=false,

所以當a=0時輸出的1

3樓:你也太白了

$a>=0 是 true

$a >= 10 是 false

php裡 1=true 0=false

你這相當於

switch($a)

php中,為什麼echoabc 會輸出abc為

之前就和你說過,php裡面的雙引號會解析裡面的有特殊含義的字元,在這裡,反斜線 是一個特殊的字元,所以會轉義。有一種編碼叫做 asc ii編碼,具體是幹什麼用的,或者有什麼歷史你另外去了解,我不多說了。在php裡面,十六進位制和八進位制是不需要使用內建函式就可以直接解析成asc ii碼的 echo ...

PHP中38取模運算結果為3為什麼

3 8 就是取 3 除以 8 的餘數 3 8 0 餘 3 所以 3 8 3 php 模運算 a 10 3 var dump a 為什麼等於1 取餘數,10 除以 3 的餘數不就是1嗎?在vb的取模運算中,為什麼3mod8,其結果是3?因為不夠取,所以就是3,小於的1 7都是本身。簡單地說,就是你做帶...

c語言 下列程式執行後的輸出結果是1為什麼

36 輸出 1 x 0xffff 如果用十六進位制表示的話,數前面要加0x以表示是十六進位制。ffff用二進位制表示就是16個1,1111111111111111,轉換成十進位制就是2 16 1,即65535。因為int型資料範圍是 32767 32768,二進位制在計算機中表示時,第一位是符號位 ...