复选框打印自定义数组例如如果选择周一、周三、周五、周六、周日
checkbox print custom array E.g. if chooses Mon, Wed, Fri, Sat, Sun
我有这样的复选框:
例如如果选择周一、周三、周五、周六、周日。
return 周一、周三、周五 - 周日
例如如果选择星期六,星期日。
return 周六 - 周日
例如如果选择周一、周二、周四、周六、周日
return 周一、周二、周四、周六、周日
我该如何实施?这可能吗?
$data = [
'get_day_for_route' => (object)[
'number_day' => 1,
'name_day' => 'Mon'
],
(object)[
'number_day' => 2,
'name_day' => 'Tue'
],
(object)[
'number_day' => 5,
'name_day' => 'Fri'
],
(object)[
'number_day' => 6,
'name_day' => 'Sat'
],
(object)[
'number_day' => 7,
'name_day' => 'Sun'
],
];
foreach($data as $result)
{
$day_result[] = $result->name_day;
}
echo implode(', ',$day_result);
这是 javascript
中的函数
const renderDay = (hari: any) => {
hari = hari.sort((a,b) => a.day > b.day ? 1 : -1)
let route = ''
let until = false
for(let i = 0; i < hari.length; i++){
if(i === 0){
route+= hari[i].name
} else {
const before = (hari[i-1].day + 1)
const after = (hari[i+1] ? hari[i+1].day - 1 : 0)
if(hari[i].day === before && hari[i].day === after){
route+= until ? '' : ' - '
until = true
} else {
route+= `${until ? '' : ', '}${hari[i].name}`
until = false
}
}
}
return route
}
let hari1 = [
{day:2, name:'tue'},
{day:1, name:'mon'},
{day:5, name:'fri'},
{day:6, name:'sat'},
{day:7, name:'sun'}
]
let hari2 = [
{day:1, name:'mon'},
{day:3, name:'wed'},
{day:4, name:'thu'},
{day:5, name:'fri'},
{day:7, name:'sun'}
]
let hari3 = [
{day:1, name:'mon'},
{day:3, name:'wed'},
{day:4, name:'thu'},
{day:5, name:'fri'},
{day:6, name:'sat'},
{day:7, name:'sun'}
]
console.log(renderDay(hari1))
console.log(renderDay(hari2))
console.log(renderDay(hari3))
我有这样的复选框:
例如如果选择周一、周三、周五、周六、周日。 return 周一、周三、周五 - 周日
例如如果选择星期六,星期日。 return 周六 - 周日
例如如果选择周一、周二、周四、周六、周日 return 周一、周二、周四、周六、周日
我该如何实施?这可能吗?
$data = [
'get_day_for_route' => (object)[
'number_day' => 1,
'name_day' => 'Mon'
],
(object)[
'number_day' => 2,
'name_day' => 'Tue'
],
(object)[
'number_day' => 5,
'name_day' => 'Fri'
],
(object)[
'number_day' => 6,
'name_day' => 'Sat'
],
(object)[
'number_day' => 7,
'name_day' => 'Sun'
],
];
foreach($data as $result)
{
$day_result[] = $result->name_day;
}
echo implode(', ',$day_result);
这是 javascript
中的函数const renderDay = (hari: any) => {
hari = hari.sort((a,b) => a.day > b.day ? 1 : -1)
let route = ''
let until = false
for(let i = 0; i < hari.length; i++){
if(i === 0){
route+= hari[i].name
} else {
const before = (hari[i-1].day + 1)
const after = (hari[i+1] ? hari[i+1].day - 1 : 0)
if(hari[i].day === before && hari[i].day === after){
route+= until ? '' : ' - '
until = true
} else {
route+= `${until ? '' : ', '}${hari[i].name}`
until = false
}
}
}
return route
}
let hari1 = [
{day:2, name:'tue'},
{day:1, name:'mon'},
{day:5, name:'fri'},
{day:6, name:'sat'},
{day:7, name:'sun'}
]
let hari2 = [
{day:1, name:'mon'},
{day:3, name:'wed'},
{day:4, name:'thu'},
{day:5, name:'fri'},
{day:7, name:'sun'}
]
let hari3 = [
{day:1, name:'mon'},
{day:3, name:'wed'},
{day:4, name:'thu'},
{day:5, name:'fri'},
{day:6, name:'sat'},
{day:7, name:'sun'}
]
console.log(renderDay(hari1))
console.log(renderDay(hari2))
console.log(renderDay(hari3))