phpswitchcase或
① php 怎麼動態得到 swith 的 case 值
這有問題啊,
如果你是根據不同的值調用相同的函數,但是是傳遞不同的參數的話,沒必要這樣,
像問題中,
如果值為 'aa',調用logfns(),傳參 'aa',
不如直接logfns($var),值為什麼就傳什麼參數,
如果針對不同的值調用不同的方法的話,
直接這樣就可以的,
$a='aa';
switch($a){
case'aa':
logina($a);
break;
case'bb':
loginb($a);
break;
}
PS:你的switch缺少參數,
以上,
② 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 問題
可以的,不過你寫錯了
$worknum = 5;
switch($worknum)
{
case $worknum<10:
echo $name = '小於10';
break;
case $worknum>10:
echo $name = '大於10';
break;
}
④ switch case的用法
switch case的用法如下:
1、Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制流程流轉的。直線翻譯:switch語句,即「切換」語句;case即「情況」。
2、switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 case 語句中的值和 switch 表達式的值匹配時 php 才開始執行語句,直到 switch 的程序段結束或者遇到第一個 break 語句為止。如果不在 case 的語句段最後寫上 break 的話,php 將繼續執行下一個 case 中的語句段。
3、在 switch 語句中條件只求值一次並用來和每個 case 語句比較。在 elseif 語句中條件會再次求值。如果條件比一個簡單的比較要復雜得多或者在一個很多次的循環中,那麼用 switch 語句可能會快一些。
4、switch語句執行時會從上到下根據括弧中表達式的值作比較,當某個case語句中的表達式與此值相同時,就執行這個case語句或語句序列,直到遇到break為止。
(4)phpswitchcase或擴展閱讀:
在C#中,switch語句的控製表達式只能是某個整形(int,char,long等)或string。其他任何類型(包括float和double類型)只能用if語句。
每個constantExpression值都必須唯一,使controllingExpression只能與它們中的一個匹配。如果controllingExpression的值和任何controllingExpression的值都不匹配,也沒有default標簽,程序就從switch的結束大括弧之後的第一個語句繼續執行。
⑤ php switch 怎麼使用
給你參考一下:
<?php
switch($x)
{
case1:
echo"Number1";
break;
case2:
echo"Number2";
break;
case3:
echo"Number3";
break;
default:
echo"Nonumberbetween1and3";
}
?>
</body>
</html>
⑥ PHP switch case後可以是這樣的表達式嗎
case ($sorce_date+60)>=$nowTime:
$temp_time = $nowTime-$sorce_date;
$timeHtml = $temp_time ."秒前";
break;
($sorce_date+60)>=$nowTime 等同於 true or false
就是等同於
case true :
case false :
⑦ php中switch case里的case用多了對打開速度有影響嗎最多不會超過三十個
如果沒有break 肯定是有影響的,如果有的話,那麼對速度應該沒影響,不過運行時佔用內存會大點
⑧ 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 case 用法
Switch 語句
如果您希望有選擇地執行若干代碼塊之一,請使用 Switch 語句。
使用 Switch 語句可以避免冗長的 if..elseif..else 代碼塊。
語法
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed
if expression is different
from both label1 and label2;
}
實例
工作原理:
對表達式(通常是變數)進行一次計算
把表達式的值與結構中 case 的值進行比較
如果存在匹配,則執行與 case 關聯的代碼
代碼執行後,break 語句阻止代碼跳入下一個 case 中繼續執行
如果沒有 case 為真,則使用 default 語句
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
⑩ 在PHP中如果使用switch case語句,switch()的括弧中可以是中文嗎
測試代碼:
switch('你好'){
case'你好':
echo1;
break;
defualt:
echo'2';
}
結果輸出:
1
證明:
switch()的括弧中可以是中文!!!
但是強烈不推薦寫中文