作者qrtt1 (隐者)
看板PHP
标题Re: [请益] 在switch的case是否可用RE来判断?
时间Wed Jun 21 13:06:50 2006
※ 引述《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