亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Php從動態td tr創建表

Php從動態td tr創建表

PHP
呼如林 2021-12-03 16:42:06
我試圖用動態行單元格從動態數組創建一個表。當在數組中找到行時,它將<tr>首先添加標簽,直到row在數組中找到下一個。我想當找到的行tr標記將從td內部標記開始,直到在數組中找到下一行然后再次相同的tr標記將開始,直到在數組中找到下一行。這是一個數組的例子$cars = array (      array(          'table_body_element'=>'row',          'cell_text'=>'',      ),      array(          'table_body_element'=>'cell',          'cell_text'=>'Column 1',      ),      array(          'table_body_element'=>'cell',          'cell_text'=>'Column 2',      ),      array(          'table_body_element'=>'cell',          'cell_text'=>'Column 3',      ),      array(          'table_body_element'=>'row',          'cell_text'=>'',      ),      array(          'table_body_element'=>'cell',          'cell_text'=>'Column 11',      ),      array(          'table_body_element'=>'cell',          'cell_text'=>'Column 22',      ),      array(          'table_body_element'=>'row',          'cell_text'=>'',      ),    );我試圖檢查它是否為行標記并在其上添加 tr 標記。這是我的 foreach 循環。echo '<table><thead><tr>';foreach ($cars as $item){    echo '<td>'.$item[ 'cell_text' ].'</td>';    if( $item[ 'table_body_element' ] == 'row' ){        echo '</tr><tr>';    }}echo '</tr></tbody></table>';輸出現在的輸出顯示如下。使用沒有 td 內容的快速空 tr div 和最后一個沒有內容的 tr div 打印。我想刪除這個唯一的內容 tr 標簽,并且 td 需要在結果中打印。
查看完整描述

2 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

問題是你總是先放出單元格文本,即使是rows,當你得到一個新行時,你總是打開下一行......


echo '</tr><tr>';

至少你關閉它,但很難(不維護各種標志)決定何時輸出開始標簽。


另類,這構建了每一行,然后使用implode()了該$rows陣列添加<tr></tr>標簽一輪他們...


echo '<table><thead>';

$rows = [];

$row = '';

foreach ( $cars as $car )   {

    if ( $car['table_body_element'] == 'row' ) {

        if ( !empty($row) ) {

            $rows [] = $row;

            $row = '';

        }

    }

    else    {

        $row .= '<td>'.$car[ 'cell_text' ].'</td>';

    }

}

echo '<tr>'.implode( '</tr><tr>', $rows ).'</tr>';

echo '</tbody></table>';


查看完整回答
反對 回復 2021-12-03
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

最好將 foreach 放在表格中,在我看來,在 foreach 的末尾放置并不好。嘗試這個:


echo '<table><tbody>';

foreach ($cars as $item){

    echo '<tr><td>'.$item[ 'cell_text' ].'</td>';

    if( $item[ 'table_body_element' ] == 'row' ){

        echo '</tr>';

    }

}

echo '</tbody></table>';


查看完整回答
反對 回復 2021-12-03
  • 2 回答
  • 0 關注
  • 251 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號