我必须检查条件,即用户不应在时间表中输入每天超过24小时的信息。例如。(yyyy-mm-dd)2014-12-21 | 5hrs,2014-12-21 | 10hrs,2014-12-21 | 10小时然后点击提交按钮,我需要总结当天的小时数,并提醒用户说“每天输入的时间不得超过24小时”。
这是我的代码。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<form name="" action="#" method="post">
<?php for ($i=0; $i<5; $i++){ ?>
<label>date</label>
<input class="datefield" id="datefiled_<?php echo $i; ?>" type="date" name="datevalue[]" value="" / >
<label>hrs</label>
<input class="hrscheck" id="hrscheck_<?php echo $i; ?>" type="number" value="" name="hrs[]" />
<br />
<?php } ?>
<input type="submit" name="submit" value="save">
</form>
<?php
if(isset($_POST['submit']))
{
$datevalue = $_POST['datevalue'];
$prevDate = '';
$hrs=0;
foreach($datevalue as $key=>$values)
{
echo $curDate = ($values);
echo "=>";
echo $hrs = $_POST['hrs'][$key];
echo "<br>";
if ($curDate == $prevDate) {
echo $hrs +=$hrs;
}
$prevDate = $curDate;
}
}
?>
</body>
</html>
2014-12-25=>10
2014-12-25=>10
2014-12-25=>10
2014-12-26=>5
2014-12-26=>13
我必须总结2014-12-25的三个小时值(10 + 10 + 10)= 30并提醒用户(不应超过24小时)
您可以构建一个摘要数组,然后过滤当天报告的时间超过30小时的那些:
// build summary array: [date] => array of time values
$summary = [];
foreach($datevalue as $key=>$values) {
$summary[$values][] = $_POST['hrs'][$key];
}
// filter them
if (array_filter($summary, function($item) {
return array_sum($item) > 24;
})) {
echo "UH OH, a day doesn't have more than 24 hours";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句