将多维关联数组显示为 PHP 中的 table
Displaying an Multidimensional associative array as a table in PHP
我在 PHP 研究关联数组。这里我做了一个多重关联 array.I 想以表格形式显示我的数组。数组是
<?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"
)
),
);
The way I tried to display the data is below:
<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>
标签添加了新的 table 行。它们应该添加到最后一个循环之外。
下一个问题是每所学校的值多于 table 列。每所学校有多个系。在 table 中应该如何显示?
<?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>";
}
我在 PHP 研究关联数组。这里我做了一个多重关联 array.I 想以表格形式显示我的数组。数组是
<?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"
)
),
);
The way I tried to display the data is below:
<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>
标签添加了新的 table 行。它们应该添加到最后一个循环之外。
下一个问题是每所学校的值多于 table 列。每所学校有多个系。在 table 中应该如何显示?
<?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>";
}