[英]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.