【发布时间】:2014-11-11 14:44:15
【问题描述】:
我有这个 PHP 代码:
function makeTable($data){
$ordered = array_map(function($day) {
return array_keys($day);
}, $data);
$headers = array_map(function($a) {
return "<th>$a</th>";
}, array_keys($ordered));
$max_indice = max( array_map(function($day) {
return count($day) - 1;
}, $ordered) );
$rows = array_map(function($i) use ($ordered) {
return '<tr>' . join( array_map(function($day) use ($i) {
return '<td><input type="checkbox" name="datetime" id="datetime" value="' . $i . '" />' . $day[$i] . '</td>';
}, $ordered)) . '</tr>';
}, range(0, $max_indice));
echo "<table border='1'>".join($headers)."<tbody>".join($rows)."</tbody></table>";
}
makeTable($datesAvailableArray);
这个函数做了什么,它需要我的$datesAvailableArray数组:
Array
(
[Saturday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Sunday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Monday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Tuesday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Wednesday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Thursday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
[Friday] => Array
(
[11:00am] => 0
[12:00pm] => 0
[1:00pm] => 0
[2:00pm] => 0
[3:00pm] => 0
[4:00pm] => 0
[5:00pm] => 0
)
)
并制作这个 html 表格:
<table border="1">
<tbody>
<tr>
<th>
Saturday November 15th
</th>
<th>
Sunday November 16th
</th>
<th>
Monday November 17th
</th>
<th>
Tuesday November 18th
</th>
<th>
Wednesday November 19th
</th>
<th>
Thursday November 20th
</th>
<th>
Friday November 21st
</th>
</tr>
</tbody>
<tbody>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="0">
11:00am
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="1">
12:00pm
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="2">
1:00pm
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="3">
2:00pm
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="4">
3:00pm
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="5">
4:00pm
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
<td>
<input type="checkbox" name="datetime" id="datetime" value="6">
5:00pm
</td>
</tr>
</tbody>
</table>
我想要做的是将标题日期作为复选框值。这段代码可以吗?
【问题讨论】:
-
您能重新表述一下您的问题吗?目前尚不清楚问题是什么。也就是说,您是否只是尝试这样做并看看会发生什么?
-
错误。将
value="0"替换为value="the data you want"。 (请更好地利用空格来格式化您的代码) -
你有 2 个
<tbody>部分我相信你打算有一个<thead>然后是一个<tbody> -
如果我将我的复选框值更改为 $day[$i],我将有时间将日期添加到复选框...这有意义吗?
-
id 会有所不同,因为每个项目的日期和时间都不同。