[英]PHP- Multidimensional-Array does not loop through array
我正在實習,我正在開發一個具有里程碑和里程碑部分的HTML表(在此項目中,我們將其稱為Milestonefase)。 每個里程碑都有一系列里程碑。
例如: Milestone99具有里程碑事件10,milestonefase14。
這些數據來自兩個不同的數據庫表。 我的數組如下所示:
Array
(
[milestonesfases] => Array
(
[10] => Array
(
[milestonefase_id] => int
[milestonefase_titel] => string
[milestonefase_milestone_id] => int
)
[14] => Array
(
[milestonefase_id] => int
[milestonefase_titel] => string
[milestonefase_milestone_id] => int
)
)
[milestone_id] => int
[milestone_titel] => string
[client] => string
[milestone_verkocht_id] => int
)
我的問題是:如何循環通過與里程碑6相關的所有里程碑事件(在這種情況下)
我的循環如下所示:
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
for ($i = 0; $i < count($milestone['milestonesfases']); $i++)
{
echo '<tr>';
echo '<td>'. $milestone['milestonesfases']['milestonefase_id'] . '</td>';
echo '<td>'. $milestone['milestonesfases'][10]['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}
我循環中的“ 10”必須全部為Milestonefase_id(在此里程碑中為10、11、12、13、14、15)。
我如何才能獲得所有里程碑。
注意! 它必須適用於每個里程碑,不僅如此
那個里程碑有效,但是里程碑不起作用。
這是檢查是否為數組,您可以使用相同的foreach
來使用它,例如@Aron Said:
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
if(is_array($milestone['milestonesfases'])){
foreach ($milestone['milestonesfases'] as $key => $value) {
echo '<tr>';
echo '<td>'. $value['milestonefase_id'] . '</td>';
echo '<td>'. $value['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}
}
而不是使用for循環,
for ($i = 0; $i < count($milestone['milestonesfases']); $i++)
做一個foreach循環
foreach ($milestone['milestonesfases'] as $milestonesfase)
{
echo '<tr>';
echo '<td>'. $milestonesfase['milestonefase_id'] . '</td>';
echo '<td>'. $milestonesfase['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
請試試
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
foreach($milestone['milestonesfases'] as $milestoneRow)
{
if($milestoneRow['milestonefase_milestone_id'] == $milestone['milestone_id']) {
echo '<tr>';
echo '<td>'. $milestoneRow['milestonefase_id'] . '</td>';
echo '<td>'. $milestoneRow['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.