我目前正在一個小型項目,將工作rota從簡單的HTML表格轉換爲YAML輸出。如果額外的員工工作在同一個工作表上,我所抓取的表格不會重複日期,而更願意只顯示一次。這意味着,當我的PHP腳本在表中工作時,對於某個日期的額外工作人員,則不設置日期,導致一個空值。到目前爲止,我有以下幾點:使用以前的變量從PHP foreach,如果不存在
<?php
include('simple_html_dom.php');
$html = str_get_html('<table>
<tbody>
<tr>
<td>Day</td>
<td>Jack</td>
</tr>
<tr>
<td></td>
<td>Jill</td>
</tr>
<tr>
<td>Night</td>
<td>John</td>
</tr>
</tbody>
</table>');
foreach($html->find('table') as $element) {
$td = array();
foreach($element->find('tr') as $row) {
$shift = $row->children(0)->plaintext;
$staff = $row->children(1)->plaintext;
echo $shift;
echo "<br />";
echo "Staff: " . $staff;
echo "<br />";
echo "<br />";
}
}
exit;
?>
此輸出如下:
Day
Staff: Jack
Staff: Jill
Night
Staff: John
我不知道怎麼做的,是讓PHP使用相同的變量設置從以前的foreach循環,如果不存在。這樣,我可以輸出如下:
Day
Staff: Jack
Day
Staff: Jill
Night
Staff: John
任何人都可以協助嗎?謝謝!
只是檢查如果變量是空的,如果是這樣,不要再進行分配。這樣它將使用前面迭代的值 – billyonecan