[英]Displaying an Multidimensional associative array as a table in PHP
我正在研究 PHP 中的關聯數組。 這里我做了一個多重關聯數組。我想以表格形式顯示我的數組。 該數組是
<?php
$schoolDetails = array(
//First School Details
array(
array("schoolName" => "TCS"),
array(
"branchName" => "Iqbal Campus",
"phone" => "052-4667281",
"numberofTeachers" => 51
),
array(
"departmentName" => "Maths",
"HOD" => "Mr Ali"
),
array(
"departmentName" => "Science",
"HOD" => "Mr Imran"
)
),
array(
array("schoolName" => "CSS"),
array(
"branchName" => "Gohdpur Campus",
"phone" => "052-4667281",
"numberofTeachers" => 20
),
array(
"departmentName" => "Chemistry",
"HOD" => "Mr Abdullah"
),
array(
"departmentName" => "Computer",
"HOD" => "Mr Naeem"
)
),
);
我嘗試顯示數據的方式如下:
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>School Name</th>
<th>Branch Name</th>
<th>Phone Number</th>
<th>Number of Teachers</th>
<th>Department Name</th>
<th>HOD</th>
</tr>
</thead>
<tfoot>
<tr>
<th>School Name</th>
<th>Branch Name</th>
<th>Phone Number</th>
<th>Number of Teachers</th>
<th>Department Name</th>
<th>HOD</th>
</tr>
</tfoot>
<tbody>
<?php foreach ($schoolDetails as $school) {
foreach ($school as $schools) {
foreach ($schools as $key => $value) {?>
<tr>
<td><?php echo $value; ?></td>
</tr>
<?php }}}?>
</tbody>
</table>
但是我沒有在正確的行和列中得到結果。 那么我該怎么做才能以精確的表格形式顯示它,因為我從未經歷過這種任務。
首先,您似乎在新行而不是新列中添加值:
<tr>
<td><?php echo $value; ?></td>
</tr>
<tr>
標簽添加新的表格行。 它們應該添加到最后一個循環之外。
下一個問題是每所學校的值多於表列的值。 每所學校都有多個部門。 應該如何在表格中顯示?
<?php
foreach ($schoolDetails as $school) {
echo "<tr>";
echo "<td>{$school[0]["Schoolname"]}</td>";
echo "<td>{$school[1]["branchName"]}</td>";
echo "<td>{$school[1]["phone"]}</td>";
echo "<td>{$school[1]["numberofTeachers"]}</td>";
echo "<td>{$school[2]["departmentName"]}</td>";
echo "<td>{$school[2]["HOD"]}</td>";
echo "</tr>";
}
但是,上面的代碼只會列出第一個部門...您需要提供有關如何顯示其余部分的更多信息...
@Gowire 答案只是修改。
foreach ($schoolDetails as $school) {
echo "<tr>";
echo "<td>{$school[0]["schoolName"]}</td>";
echo "<td>{$school[1]["branchName"]}</td>";
echo "<td>{$school[1]["phone"]}</td>";
echo "<td>{$school[1]["numberofTeachers"]}</td>";
echo "<td>{$school[2]["departmentName"]}</td>";
echo "<td>{$school[2]["HOD"]}</td>";
echo "</tr>";
for($i=3;$i<=5;$i++){
if(isset($school[$i])){
echo "<tr>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td>{$school[$i]["departmentName"]}</td>";
echo "<td>{$school[$i]["HOD"]}</td>";
echo "</tr>";
}
}
}
foreach($schoolDetails as $schoolDetail) {
echo "<tr>";
echo "<td>{$schoolDetail[0]["schoolName"]}</td>";
echo "<td>{$schoolDetail[1]["branchName"]}</td>";
echo "<td>{$schoolDetail[1]["phone"]}</td>";
echo "<td>{$schoolDetail[1]["numberofTeachers"]}</td>";
if(!empty($schoolDetail[3]['departmentName'])) {
echo "<td>{$schoolDetail[2]["departmentName"]}" . ", " . "{$schoolDetail[3]["departmentName"]}</td>";
} else {
echo "<td>{$schoolDetail[2]["departmentName"]}</td>";
}
if(!empty($schoolDetail[3]['HOD'])) {
echo "<td>{$schoolDetail[2]["HOD"]}" . ", " . "{$schoolDetail[3]["HOD"]}</td>";
} else {
echo "<td>{$schoolDetail[2]["HOD"]}</td>";
}
echo "</tr>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.