簡體   English   中英

PHP:來自多維數組的HTML表

[英]PHP: HTML table from Multidimensional array

我正在嘗試從多維php數組創建HTML表,但是它是部分設計的。 可以請一個織機給我建議。

這是我的多維數組的樣子:

array(2) { [0]=> array(3) 

 { ["Objective"]=> string(11) "Conversions" 

["Top Performing Targeting Group"]=> array(2) { [0]=> string(48) "Female (27.74% cheaper )^25-34 (27.74% cheaper )" [1]=> string(48) "Female (22.52% cheaper )^18-24 (22.52% cheaper )" } 

["Top Performing Placement"]=> array(1) { [0]=> string(52) "Mobile Feed (13.53% cheaper)^iPhone (13.53% cheaper)" } }

[1]=> array(3) 

 { ["Objective"]=> string(10) "Page Likes" 
["Top Performing Targeting Group"]=> array(0) { } 
 ["Top Performing Placement"]=> array(2) { [0]=> string(50) "Mobile Feed (1.42% cheaper)^iPhone (1.42% cheaper)" [1]=> string(51) "Mobile Feed (1.71% cheaper)^Android (1.71% cheaper)" } } }

我的HTML表代碼如下所示:

function generateTable2($associative_array){
echo '<table width="620" class="optimization_table"><thead><tr><th>';
echo implode('</th><th>', array_keys(current($associative_array)));
echo '</th></tr></thead><tbody>';
foreach ($associative_array as $row=>$value){
    echo "<tr><td>";
    if(is_array($value)) {
        foreach ($value as $k => $v) {
        if(is_array($v))
        {
            foreach ($v as $key => $value) {
                //explode("^",$v)
                echo "</td>";
                print_r($key);
                print_r($value);
                //explode("^",$k)[2]
                # code...
            }
        }

        //echo implode('</td><td>', $v); 
        else echo "$v"."</td><td>";
        }
    }
        //echo implode('</td><td>', $value);
    //else echo implode('</td><td>', $value); 
    else echo "$value"."</td><td>"; 
}
echo '</tbody></table>';
}

輸出應如所附圖片所示 在此處輸入圖片說明

        function generateTable2($associative_array){
        echo '<table width="620" class="optimization_table" border="1"  cellspacing="0" cellpadding="0"><thead><tr><th colspan=2>';
        echo implode('</th><th colspan=2>', array_keys(current($associative_array)));
        echo '</th></tr></thead><tbody>';
        foreach ($associative_array as $row=>$value){
            echo "<tr>";

            if(is_array($value)) {
                foreach($value as $value2) {
                    if(is_array($value2)) {
                        foreach($value2 as $value3) {
                            echo "<td>$value3</td>\n";
                        }
                    }
                    else {
                        echo "<td colspan=2>$value2</td>\n";
                    }

                }
            }
            else {
                echo "<td colspan=2>$value</td>\n";    
            }

            echo "</tr>";

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

那這個呢?

不太復雜的解決方案...

        function generateTable2($associative_array){
        echo '<table width="620" class="optimization_table" border="1"  cellspacing="0" cellpadding="0"><thead><tr><th>';
        echo implode('</th><th>', array_keys(current($associative_array)));
        echo '</th></tr></thead><tbody>';
        foreach ($associative_array as $row=>$value){
            echo "<tr>";

            if(is_array($value)) {
                foreach($value as $value2) {
                    if(is_array($value2)) {
                        echo "<td><table border='1' cellspacing='0' cellpadding='0'><tr>";
                        foreach($value2 as $value3) {
                            echo "<td>$value3</td>\n";
                        }
                        echo "</tr></table></td>\n";
                    }
                    else {
                        echo "<td>$value2</td>\n";
                    }

                }
            }
            else {
                echo "<td>$value</td>\n";    
            }

            echo "</tr>";

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

希望這可以幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM