Ich bin ein Junior-Programmierer, der immer noch lernt, wie man Code schreibt. Ich habe dieses Array in meinem PHPVergleichen Array erhalten Daten aus der Datenbank 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')));
}
Aus dieser Anordnung wird es Liste für Tage sein, die durch den Benutzer ausgewählt wurden (Montag, Dienstag, usw.)
Dann habe ich diese Tabelle in meiner Datenbank
work_scheme
Die work_scheme besteht aus Tabelle
//field_name => data
Monday => Working Day
Tuesday => Working Day
Wednesday => Working Day
Thursday => Working Day
Friday => Working Day
Saturday => Half Day
Sunday => Off Day
dies mein Wo ist rking_days-Array, das die Daten aus der Datenbank abgerufen wird
$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']
);
}
}
So, jetzt, wie kann ich das Array vergleiche ich von der Benutzeraktivität auf meine Tabelle in der Datenbank erhalten?
Ich habe diesen folgenden Code, aber es funktioniert nicht richtig
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";
}
}
}
ich feststellen, dass die $ working_days [$ x] kehrt mir den Tag nicht Namen, sondern wird es mir zurück entweder Arbeitstag , halber Tag oder Tag Wie kann ich den Tag-Namen von $ days() zu $ working_days Tag vergleichen?
Also, sagen wir, die gewählten Tage sind Freitag, Samstag und Sonntag, Wie kann ich Codes schreiben, die mir 1,5 Tage zurückgeben?
Working day = 1
Half day = 0.5
Off day = 0