0){ return '有'; }else{ return ''; } } return ''; }else{ if(is_numeric($num)){ if($num == 0){ return '无'; }elseif($num >= 99){ return '有'; }else{ return $num; } }else{ if($num == '--'){ return ''; } } } } function checkNull($info){ if(empty($info)){ return ''; }else{ return $info; } } function checkDateRule($strDate, $jsonDate){ if (!strtotime($strDate)) { return false; } $strDate_t = strtotime($strDate); $strDate = date("Y-m-d", $strDate_t); $dYear = date("Y", $strDate_t); $dMonth = date("m", $strDate_t); $dDay = date("d", $strDate_t); $dWeek = date("w", $strDate_t); //星期的第几天数组(0-6) //单双日 if ($dDay % 2 == 0) { $dSingle = 2; } else { $dSingle = 1; } $jObject = json_decode($jsonDate); $result = false; //先判断排除规则,有一条符合就返回false if (isset($jObject->DateRule->exclusive) ) { $jObject_exclusive = $jObject->DateRule->exclusive; foreach ($jObject_exclusive as $key => $val) { if ($val->dateType=="EveryDay" ) { //每天,这个基本不会出现,设置每天排除和关闭没区别 return false; } elseif ($val->dateType=="WeekDay" ) { //按星期 //先判断是否在日期范围内,再判断星期是否对应 $bw_CheckRange = false; //是否需要判断星期几 if ($val->dateRange == "*") { //每天 $bw_CheckRange = true; } else { $dateRange = explode("|", $val->dateRange); //日期范围 if (count($dateRange) == 2) { if ($strDate_t >= strtotime($dateRange[0]) and $strDate_t <= strtotime($dateRange[1])) { $bw_CheckRange = true; //在范围内 } } } if ($bw_CheckRange) { if ($dWeek==0) { $dWeek=7; //星期0为星期天,我们保存的星期天是7 } $weekArr = explode(",", $val->dateData); //星期数据1,2,3,4,5,6,7这种 foreach ($weekArr as $week) { if ($week == $dWeek) { return false; } } } } elseif ($val->dateType == "SelectDay") { //固定日期 if ($val->dateRange=="*") { $SelectDayArr = explode(",", $val->dateData); foreach ($SelectDayArr as $sDay) { if (strtotime($sDay) == $strDate_t) { return false; } } } } elseif ($val->dateType == "RangeDay") { //连续日期 if ($val->dateRange == "*") { $RangeDateArr = explode("|", $val->dateData); if (count($RangeDateArr)==2) { if ($strDate_t >= strtotime($RangeDateArr[0]) and $strDate_t <= strtotime($RangeDateArr[1])) { return false ; //在范围内 } } } } } } //再判断包含规则,有一条符合就为true if (isset($jObject->DateRule->include)) { $jObject_include = $jObject->DateRule->include; foreach ($jObject_include as $key => $val) { if ($val->dateType == "EveryDay") { //每天 return true; } elseif ($val->dateType == "WeekDay") { //按星期 //先判断是否在日期范围内,再判断星期是否对应 $bw_CheckRange = false; //是否需要判断星期几 if ($val->dateRange == "*") { //每天 $bw_CheckRange = true; } else { $dateRange = explode("|", $val->dateRange); //日期范围 if (count($dateRange) == 2) { if ($strDate_t >= strtotime($dateRange[0]) and $strDate_t <= strtotime($dateRange[1])) { $bw_CheckRange = true; //在范围内 } } } if ($bw_CheckRange) { if ($dWeek == 0) { $dWeek = 7; //星期0为星期天,我们保存的星期天是7 } $weekArr = explode(",", $val->dateData); //星期数据1,2,3,4,5,6,7这种 foreach ($weekArr as $week) { if ($week == $dWeek) { return true; } } } } elseif ($val->dateType=="MonthDay") { //每月单双 if ($val->dateRange=="*") { $MonthDayArr = explode(",", rtrim($val->dateData, ',')); //月单双数据m3:2,m4:1 foreach ($MonthDayArr as $MonthKey) { $MonthArr = explode(":", $MonthKey); $Month = str_pad(str_replace("m", "", $MonthArr[0]), 2, "0", STR_PAD_LEFT); //存储的月份补0,好比较 if ($dMonth == $Month) { //月份相同比较 if ($dSingle == $MonthArr[1]) { return true; } } } } } elseif ($val->dateType == "SelectDay") { //固定日期 if ($val->dateRange=="*") { $SelectDayArr = explode(",", $val->dateData); foreach ($SelectDayArr as $sDay) { if (strtotime($sDay) == $strDate_t) { return true; } } } } elseif ($val->dateType == "RangeDay") { //连续日期 if ($val->dateRange == "*") { $RangeDateArr = explode("|", $val->dateData); if (count($RangeDateArr)==2) { if ($strDate_t >= strtotime($RangeDateArr[0]) and $strDate_t <= strtotime($RangeDateArr[1])) { return true ; //在范围内 } } } } } } return $result; } function get_name($seat_code){ if($seat_code){ switch($seat_code){ case 'O' : return 'Second Class Seat'; case 'A8' : return 'Second Class Seat'; case 'A9' : return 'Business Class Seat'; case 'P' : return 'Superior'; case 'M' : return 'First Class Seat'; case 'A7' : return 'First Class Seat'; case 'A6' : return 'Superior Soft Sleeper'; case 'A' : return 'Superior Soft Sleeper'; case '5' : return 'Hard Sleeper'; case 'S' : return 'Soft Sleeper'; case 'A4' : return 'Soft Sleeper'; case 'F' : return 'New Soft Sleeper'; case 'A3' : return 'Hard Sleeper'; case 'A2' : return 'Soft Seat'; case 'A1' : return 'Hard Seat'; case 'Q' : return 'Tour Seat'; case 'H' : return 'Other'; case 'WZ' : return 'Standing-room Only'; case '13' : return 'Standing-room Only'; case 'YDW' : return 'Soft Sleeper'; case 'EDW' : return 'Hard Sleeper'; } } } ?>