switchcasephp
『壹』 php里 switch case條件語句的問題
佩服樓主 很細心哪!
這個問題應該從PHP作為動態腳本語言說起:
動態語言的變數類型是隨存儲的變數而變化的,即變數類型是根據具體環境而進行變化的。
字元串"abc",從樓主的意思來看可能指確切字元串,但是對於PHP存儲的時候它是不能確定的,因為隨著語義的變化,其所起的作用也會變化
第一個case 0:,PHP腳本將常量0翻譯為確切的整數,與字元串比較大小時,需要將字元串轉換為整數。PHP腳本會將字元串abc,從十進制(默認)轉換為數字,但是abc很明顯不能代表十進制數,即轉換失敗,則PHP將結果置為0,如果將字元串表示為"0xabc",那麼PHP腳本能夠發現0x標識,將abc作為十六進制轉換,所以能夠得到abc標識的十六進制整數。
如果樓主學過C,可以做一個簡單比較:
C中的case必須是數字常量,而不能是字元串,就因為C是變數類型確定的,運行時不能將確定的變數按語義隨意轉換。而PHP可以,因為PHP語言是動態的,變數類型是動態的。
或者從PHP的例子中學習:
如果一個文件將111111字元串(不是數字)存儲到文件,然後從文件直接讀取到變數$a,如下語法就可以將$a作為整數計算:
0+$a
上述表達式得到的結果也可以作為動態語言的一個變現來看
『貳』 php switch case 問題
可以的,不過你寫錯了
$worknum = 5;
switch($worknum)
{
case $worknum<10:
echo $name = '小於10';
break;
case $worknum>10:
echo $name = '大於10';
break;
}
『叄』 PHP 帶索引的數組寫成switch case條件應該怎麼寫
你好,switch要傳入的是一個變數,那麼數組中的 一個代指定索引的數組值 就是一個變數。或者,如果還是不明白。直接$val = $value[first], 然後switch($val)。就可以了。如果你想把一個數組都通過switch判斷,那要在數組遍歷里寫switch就可以了。
比如 foreach($value as $temp_val) {
switch( $temp_val) {
case "xxxxx";break;
}
}
就樣就可以了。
『肆』 php的 switch case如何實現
<select size="1" name="e">
<option value="初中"<?php echo $e=='初中'?' selected="selected":''; ?>>初中</option>
<option value="高中"<?php echo $e==高中'?' selected="selected":''; ?>>高中</option>
<option value="大專"<?php echo $e=='大專'?' selected="selected":''; ?>>大專</option>
<option value="本科"<?php echo $e=='本科'?' selected="selected":''; ?>>本科</option>
</select>
『伍』 php中switch case里的case用多了對打開速度有影響嗎最多不會超過三十個
如果沒有break 肯定是有影響的,如果有的話,那麼對速度應該沒影響,不過運行時佔用內存會大點
『陸』 PHP:是switch-case語句問題 為什麼得數是5 ,幫忙說下流程
語句從 case 3: $i--; 開始,一直執行到遇到break或者switch語句結束
case 3:
$i--;
break; //不加這句會執行後面的case
case 條件是只顧頭不顧尾的
『柒』 PHP中當使用switch() case的時候,如果有幾個等價的case該怎麼寫
case:之後所跟的表達式即為入口條件,這里可以寫多個,或者排除方式。
樓上混亂了。舉例:
switch(……)
case: "1"
echo "a";
break;
case: "2"
echo "a"; // 這里是相同的,可以多條實現
break;
default: // 能用排除方式,這個效率較高
echo: "b"
break;
『捌』 在PHP中如果使用switch case語句,switch()的括弧中可以是中文嗎
測試代碼:
switch('你好'){
case'你好':
echo1;
break;
defualt:
echo'2';
}
結果輸出:
1
證明:
switch()的括弧中可以是中文!!!
但是強烈不推薦寫中文
『玖』 php switch case語句
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":echo "你喜歡的顏色是紅色!";break;
case "blue":echo "你喜歡的顏色是藍色!";break;
case "green":echo "你喜歡的顏色是綠色!";break;
default: echo "你喜歡的顏色不是 紅, 藍, 或綠色!";
}
?>