如何解决重新映射数组以在php中包含某些值
我有以下foreach
$temp = [];
$remappedData=[];
$intCurrentIndex = -1;
foreach ($result as $value)
{
if(isset($temp[$value['Location']])){
$oldindex = $temp[$value['Location']];
$remappedData[$oldindex]['AptDate'][] = $value['AptDate'];
$remappedData[$oldindex]['AptTime'][] = $value['AptTime'];
}
else{
$temp[$value['Location']] = ++$intCurrentIndex;
$remappedData[$intCurrentIndex]['location'] = $value['Location'];
$remappedData[$intCurrentIndex]['AptDate'][] = $value['AptDate'];
$remappedData[$intCurrentIndex]['AptTime'][] = $value['AptTime'];
}
}
这将按位置及其aptDates和时间对所有数据进行排序。示例:
[
{
"location":"Location 1","AptDate":[
"2020-09-17","2020-09-17","2020-09-18","2020-09-18"
],"AptTime":[
"15:15","15:45","15:30","16:15","15:15","14:45","16:00","08:30","09:30","10:15","12:30","13:30","14:30","08:00","09:00"
]
}
]
这按位置对它们进行排序,但是我试图保持这种格式,但还要在日期中加上时间。
[
{
"location":"Location 1","AptDate": [
"2020-09-17" : [
"15:15",],"2020-09-18" :[
"08:30","09:00"
]
]
}
]
到目前为止,我没有尝试过。我添加了位置并检查是否设置了,但是它按每个合适的日期对它们进行排序,这不是我所需要的。
value now
试图在反应表中显示此消息,但我收到一条错误消息,说Cannot read property 'map' of undefined
const Cell = ({ cell }) => {
return cell.row.original.AptDate.map((value,index) => (
<span
key={index}
style={{ display: "grid",textAlign:"center",marginRight: index === 0 ? 8 : 0 }}
>
{value}
</span>
));
};
尝试将其添加到这样的表中。
解决方法
根据您的前端,我们可以做什么。根据日期(例如星期一,星期二等)创建日期和时间数组。
我们可以通过以下代码获取一天的信息。
echo date('D',strtotime('2020-09-18'));
Output: Fri
我们将其作为密钥并相应地绑定数据及其时间。我们将生成诸如Fri_date
,Sat_date
之类的键以及诸如Fri_time
,Sat_time
之类的时间,您可以在每个工作日列中直接使用它们。
foreach ($result as $value)
{
$strDay = date('D',strtotime($value['AptDate']));
if(isset($temp[$value['Location']])){
$oldIndex = $temp[$value['Location']];
$remappedData[$oldIndex][$strDay. '_date'] = $value['AptDate'];
$remappedData[$oldIndex][$strDay. '_time'][] = $value['AptTime'];
}
else{
$temp[$value['Location']] = ++$intCurrentIndex;
$remappedData[$intCurrentIndex]['location'] = $value['Location'];
$remappedData[$intCurrentIndex][$strDay. '_date'] = $value['AptDate'];
$remappedData[$intCurrentIndex][$strDay. '_time'][] = $value['AptTime'];
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。