我是一名初级程序员,正在学习如何编写代码。 我在我的PHP中有这个数组:
//data inside the array are days name
$days = array();
for($date = $from_date; $date <= $to_date; $date->modify('+1 day')) {
array_push($days,strtolower($date->format('l')));
}
从这个数组中,将会有一个列表显示用户选择的日期(星期一、星期二等)
接着在我的数据库中有这张表:
work_scheme
工作方案包括表格。
//field_name => data
Monday => Working Day
Tuesday => Working Day
Wednesday => Working Day
Thursday => Working Day
Friday => Working Day
Saturday => Half Day
Sunday => Off Day
这是我的working_days数组,其中数据是从数据库检索出来的。
$working_days = array();
if(count($work_scheme) > 0){
foreach($work_scheme as $r){
$working_days[0] = array(
"monday" => $r['monday']
);
$working_days[1] = array(
"tuesday" => $r['tuesday']
);
$working_days[2] = array(
"wednesday" => $r['wednesday']
);
$working_days[3] = array(
"thursday" => $r['thursday']
);
$working_days[4] = array(
"friday" => $r['friday']
);
$working_days[5] = array(
"saturday" => $r['saturday']
);
$working_days[6] = array(
"sunday" => $r['sunday']
);
}
}
现在如何将用户活动中获取的数组与我的数据库表进行比较呢?
我有以下代码,但它不能正常工作。
for($i = 0; $i < count($days); $i++){
for($x = 0; $x < count($working_days); $x++){
$total_days = 0;
if($days[$i] == $working_days[$x]){
echo "hello world";
}
}
}
我注意到 $working_days[$x] 不会返回日期名称,而是会返回工作日、半天或休息日。如何将 $days() 中的日期名称与 $working_days 中的日期进行比较?
假设选择的日期是周五、周六和周日,如何编写代码以返回 1.5 天?
Working day = 1
Half day = 0.5
Off day = 0