『壹』 php中當使用switch case的時候,如果有幾個等價的case該怎麼寫
您好,可參考如睜明下偽代碼:
switch($variate)
{
case value1:
case value2:
case value3:
//如悉猜告果值是 value1-value3均兆陪執行這里的代碼
//todo...
break;
case other:
//todo
break;
}
『貳』 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($id){
case1:
$type='類型A';
break;
殲橘尺case2:
$type='類型B'氏高;
break;
}
或者
$type='類型伍租'.chr(64+$id);
『肆』 PHP函數等或等於應該怎麼表達
要達到你的目的有很多種方法,我也閑著,就幫你寫幾種
1、 最常用的
if($filename == 'index.php' || $filename == 'abc.php') { echo 'A'; } else { echo 'B';}
2、條件表達式(我比較喜歡的)
echo ($filename == 'index.php' || $filename == 'abc.php') ? 'A' : 'B';
3、switch 語句
switch($filename) {
case 'index.php' :
case 'abc.php' :
echo 'A'; break;
default :
echo 'B'; break;
}
4、另外一種 switch 語句
switch(true) {
case ($filename == 'index.php' || $filename == 'abc.php') :
echo 'A'; break;
default : echo 'B'; brea;
}
5、正則表達式(如果我寫我可能會這樣寫,因為這個可以很方便的去忽略大小寫,在windows環境下的文件名就忽略大小寫的)
echo preg_match("/^(index|abc)\.php$/i", $filename) ? 'A' : 'B';
同樣,正則表達式這個也可以 寫成 switch 或者 if語句。可以根據上面的改
6、建立數組
echo in_array($filename, array('index.php', 'abc.php')) ? 'ok' : 'no';
這個同樣可以改寫成 if 或者 switch 條件句
不過 這些要視情況而定。比如條件表達式,不能或不適合處理過於負責的邏輯去執行較復雜的操作,if 和 switch 應該都沒問題。
無聊亂寫,有問題可以問。
『伍』 使用PHP,應用switch……case分支語句來輸出當天為星期幾
switch(date('w'))
{
case 1:
echo '星期一';
break;
case 2:
echo '星期寬知核二';
break;
case 3:
echo '星期三';
break;
case 4:
echo '星期四';
break;
case 5:
echo '星期五';
break;
case 6:
echo '星期慎掘猛運六';
break;
case 7:
echo '星期日';
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中當使用switch() case的時候,如果有幾個等價的case該怎麼寫
case:之後所跟的表達式即為磨伍入口條件,這里可以寫多個,或者排除方瞎態或式。
樓上混亂了。舉例:
switch(……)
case: "1"閉鍵
echo "a";
break;
case: "2"
echo "a"; // 這里是相同的,可以多條實現
break;
default: // 能用排除方式,這個效率較高
echo: "b"
break;
『捌』 php 指定時間退後或提前N個月的函數怎麼寫
/**
*返回某個時間幾月前或及月後的時間戳
*@$datetime指定時間戳
*@$num增減月份(1,-2)
*@returndatetime
*/
($datetime,$num){
$year_month=date("Y-m",$datetime);
$time_day=date("d",$datetime);
$H=date("H",$datetime);
$i=孫螞date("i",$datetime);
$s=date("s",$datetime);
if($num>0){
則巧埋寬羨$act="+".abs($num)."month";
}else{
$act="-".abs($num)."month";
}
$time=strtotime($act,strtotime($year_month));
$time_str=date("Y-m-d",$time);
if(date("t",$time)>$time_day){
$return_time=mktime($H,$i,$s,date("m",$time),date("d",$time),date("Y",$time));
}else{
$return_time=mktime($H,$i,$s,date("m",$time),date("t",$time),date("Y",$time));
}
return$return_time;
}
『玖』 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>