For saving the days of week in a database, I've the existing code :
if (isset($_POST['day7'])){$dayOfWeek = 1;} else { $dayOfWeek = ''; }
if (isset($_POST['day1'])){$dayOfWeek = $dayOfWeek + 2;}
if (isset($_POST['day2'])){$dayOfWeek = $dayOfWeek + 4;}
if (isset($_POST['day3'])){$dayOfWeek = $dayOfWeek + 8;}
if (isset($_POST['day4'])){$dayOfWeek = $dayOfWeek + 16;}
if (isset($_POST['day5'])){$dayOfWeek = $dayOfWeek + 32;}
if (isset($_POST['day6'])){$dayOfWeek = $dayOfWeek + 64;}
For exemple : Monday, Friday, Saturday is : int(98) (2+32+64) bin value for that = 1100010
Other exemple : Sunday, Monday = int(3) (2+1) Bin value = 11
My question is : How to do the reverse in order to get the days of week in : exemple : String(Mon, Fri, Sat) from the int value ?
I can do it with a binary value like 1100010, but I don't understand how to do it when the binary is less than 7 "characters", like 11
<?php
function binToWeekdays($binvalue) {
$array_week = array();
$array_week = str_split($binvalue);
$array_week = array_reverse($array_week);
$weekdays = '';
if ($array_week[1] == 1) {
$weekdays .= 'Mon, ';
}
if ($array_week[2] == 1) {
$weekdays .= 'Tue, ';
}
if ($array_week[3] == 1) {
$weekdays .= 'Wed, ';
}
if ($array_week[4] == 1) {
$weekdays .= 'Thu, ';
}
if ($array_week[5] == 1) {
$weekdays .= 'Fri, ';
}
if ($array_week[6] == 1) {
$weekdays .= 'Sat, ';
}
if ($array_week[0] == 1) {
$weekdays .= 'Sun';
}
return $weekdays;
}
echo binToWeekdays('1100010');
?>
Returns : Mon, Fri, Sat,
Thanks for your help