我正在努力创建一个代码来帮助我从下面的 php 数组创建一个表。数组名称为 $associative_array1
array(
'Objective' => array(0 => 'Conversions', 1 => 'Lead Generation', ),
'Gender' => array(0 => 'Male (17.99% cheaper )',
1 => 'Male (6.46% cheaper ) Male (16% cheaper )', ),
'Age' => array(0 => '45-54 (17.99% cheaper )',
1 => '45-54 (6.46% cheaper )35-44 (16% cheaper )', ),
'Placement' => array(0 => 'Mobile Feed (30.8% cheaper) right_hand (46.81% cheaper)',
1 => 'Mobile Feed (12.56% cheaper)', ),
'Device' => array(0 => 'Android (30.8% cheaper) Desktop (46.81% cheaper)',
1 => 'iPhone (12.56% cheaper)', ),
)
标题可以视为常数。
我尝试创建代码,但这太糟糕了,不值得在这里分享。基本上,代码什么也没做。抱歉,我是这方面的菜鸟,需要同行的帮助。
PHP 代码
function generateTable2($associative_array,$associative_array1){
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_array1 as $row=>$value){
echo "<td>";
if(is_array($value))
foreach ($value as $key =>$value2) {
print_r($value2[$key]);
foreach ($value2 as $value3) {
}
# code...
}
}
echo '</tbody></table>';
}
最佳答案
您不能使用这样的嵌套 foreach
循环,因为您的 HTML 表格是从 PHP 数组的方向旋转的。每行都包含所有子数组的相同索引,因此您需要执行类似的操作来显示表的数据行。
$keys = array_keys($associative_array1);
$count = count($associative_array1[$keys[0]]);
for ($i = 0; $i < $count; $i++) {
echo "<tr>";
foreach ($keys as $key) {
echo "<td>" . nl2br($associative_array1[$key][$i]) . "</td>";
}
echo "</tr>";
}
关于PHP 数组到 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34671918/