※ 引述《qrtt1 (隱者)》之銘言:
: ※ 引述《piligo (pili)》之銘言:
: : 請問當我用switch來做判斷規則時,在case的字串可否用RE這種語法來做判斷呢?
: : 譬如底下當$a1的變數=2005/03/06可以符合外,有辦法不用再寫第二個case就能讓
: : 2005/03/06/01或2005/03/06/02也去跑2005/03/06這個case,這有辦法達成嗎?還是
: : 一定要用三個case寫呢?
: : switch ($a1) {
: : case "2005/03/06"
: : echo "Hi";
: : break;
: : }
: : 謝謝
: 請問2005/03/06/01後面多一個01是指什麼
: 還有這是user input還是你自己在程式中組裝的資料。
: 要做日期判斷還是日期函式最為直覺
: 雖然你知道re是一種方法
: 但是也許您可以描述你目的的前因後果
: 說不定有人願意分享更的解法
也許換一個方向想也不錯壓. 用關聯陣列可以嗎?
條件不合就是給你空的東西
$user_input="2005/03/06";
$state = array();
$state['2005']['03']['06']=array('01','02','03','04','05');
// test
$arr=split("/", $user_input,4);
print_r($arr);
// level 1
echo "\nlevel 1";
print_r($state[$arr[0]]);
// level 1,2
echo "\nlevel 1,2";
print_r($state[$arr[0]][$arr[1]]);
echo "\n";
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.105