$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
Существует ли регулярное выражение или функция, которая будет работать следующим образом?
1)"Tue" return string ->"Mon,Wed,Thrs,Fri,Sat,Sun"2)"Thrs, Mon" return string ->"Tue,Wed,Fri,Sat,Sun"3)"Sun,Wed,Fri" return string ->"Mon,Tue,Thrs,Sat"4)"Fri" return string ->"Mon,Tue,Wed,Thrs,Sat,Sun"
Ниже отлично работает удаление только одного элемента из строки. Что делать, если я хочу удалить более одного элемента, как указано выше?
$input = 'Wed';
$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
$array1 = Array($input);
$array2 = explode(',', $list);
$array3 = array_diff($array2, $array1);
$output = implode(',', $array3);
echo $output;
использование explode
на $input
переменная также:
$input = 'Wed';
$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
$array1 = explode(',', $input);
$array2 = explode(',', $list);
$array3 = array_diff($array2, $array1);
$output = implode(',', $array3);
echo $output;
Вы можете хранить свой список в массиве или просто можете взорвать его, если вы не хотите
function weekdays($day){
$list= array('Mon','Tue','Wed','Thrs','Fri','Sat','Sun');
if (($key = array_search($day, $list )) !== false) {
unset($list[$key]);
return $list;
}
}