為避免錯誤,理解 switch 是怎樣執行的非常重要。switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有**被執行。僅當乙個 case 語句中的值和 switch 表示式的值匹配時 php 才開始執行語句,直到 switch 的程式段結束(如 return 語句)或者遇到第乙個 break 語句為止。如果不在 case 的語句段最後寫上 break 的話,php 將繼續執行下乙個 case 中的語句段。例如:
<?php
switch ($i)
?>
特別說明:這裡如果 $i 等於 3,php不會執行任何echo語句!但是,如果 $i 等於 0,php 將執行所有的 echo 語句!如果 $i 等於 1,php 將執行後面兩條 echo 語句。只有當 $i 等於 2 時,才會得到「預期」的結果——只顯示「i equals 2」。所以,別忘了 break 語句就很重要(即使在某些情況下故意想避免提供它們時)。
[效率]在 switch 語句中條件只求值一次並用來和每個 case 語句比較。在 elseif 語句中條件會再次求值。如果條件比乙個簡單的比較要複雜得多或者在乙個很多次的迴圈中,那麼用 switch 語句可能會快一些。
在乙個 case 中的語句也可以為空,這樣只不過將控制轉移到了下乙個 case 中的語句。
JavaScript型別轉換方法及需要注意的問題
一 型別轉換的方法和應該注意的問題 1.轉換為布林型 1 用兩次非運算 5 true 2 用布林型的建構函式 new boolean 5 true 值轉換為布林型別為 false 0 0,0 nan 空字串 undefined,null 除上面的值其他值在轉換以後為 true 需要特別提到的是 0 ...
整理jquery中的switch用法及注意問題
在需要用到jquery的switch方法時,半天沒除錯出來。按理說是和php的switch方法差不多才對啊,後面才發現switch的條件必須和每個case表示式嚴格比較。先獲取選項框的選中value值 var type select option selected val alert type 結果...
STL中的vector對於char 需要注意的問題
為什麼用vector不能輸出正確的值?因為陣列是事先開闢好的,pushback進去的是陣列的位址,所以無論你怎麼改輸入的內容,都是把乙個相同的東西存進去。解決方法 重新定義乙個char temp buf new char 10 然後strcpy,再push back進去。c define crt s...