我有多维关联数组,如下所示
sr_array=>
array (size=18)
0 => string 'Shop' (length=4)
1 => string 'Papu Kushwaha' (length=13)
2 => string 'Jitendra Shukla' (length=15)
3 => string 'Satish' (length=6)
4 => string 'Pradeep' (length=7)
5 => string 'Papu Khan' (length=9)
6 => string 'Bharat' (length=6)
7 => string 'Manoj Pandey' (length=12)
8 => string 'select' (length=6)
'Shop' =>
array (size=9)
'count_auto' => int 60
'count_indus' => int 4
'count_mc' => int 100
'count_inverter' => int 10
'count_in_bat' => int 40
'total_credit' => int 191850
'sale_value' => int 1351755
'total_disc' => float 22377.38
'perc_disc' => float 1.66
依旧......
现在我想以表格格式打印它我已经使用以下代码输出
echo"<table border=1>";
echo"<tr>";
echo"<th></th>";
for($i=0; $i < count($sr_array)/2; $i++){
$current_sr = $sr_array[$i];
echo"<th>{$current_sr}</th>";
}
echo"</tr>";
$keys = array_keys($sr_array);
for($i=0; $i < count($sr_array)/2; $i++){
$current_sr = $sr_array[$i];
echo"<tr>";
echo"<td></td>";
foreach($sr_array as $key => $var){
foreach($var as $x => $y)
echo"<td>{$y["count_auto"]}</td>";
}
echo"</tr>";
}
请帮我出去
-------------------------------------
| |Shop |xyz |abc |
-------------------------------------
count_auto |60 |75 | 85 |
-------------------------------------
count_indus | 25 | 74 |15 |
--------------------------------------
count_mc | 55 | 212 | 15 |
-------------------------------------
等等
我收到错误为foreach()
提供的参数无效提前致谢
答案 0 :(得分:0)
这里的基本问题是,当您在sr_array上进行迭代时,您假设值也是数组。索引0到8不是这种情况(据我所知)。这可以解释当前的问题。
理想情况下,数组的结构是一致的(理想情况下,是一个二维的行数组,每行包含一组字段),然后一个简单的嵌套循环就可以工作。
答案 1 :(得分:0)
使用for()
/ foreach()
和循环迭代的组合尝试以下解决方案。
另外,考虑一个转置的html表,其中数据作为列,描述符作为行。否则需要复杂的迭代,因为数组项不与html标记对齐。
echo "\n<table>\n";
$i = 0;
echo "\n<tr>\n";
echo "\n<th></th>\n";
foreach($sr_array as $item) {
echo "<th>". array_keys($item)[$i] ."</th>\n";
$i++;
}
echo "</tr>\n";
$j=0;
foreach($sr_array as $item) {
echo "\n<tr>\n";
echo "<td>" . array_keys($sr_array)[$j] . "</td>\n";
foreach($item as $key => $value)
{
echo "<td>". $value . "</td>\n";
}
echo "</tr>\n";
$j++;
}
echo "\n</table>\n";
输出如下(例如我重复发布的数据):
count_auto count_indus count_mc count_inverter count_in_bat total_credit sale_value total_disc perc_disc
Shop 60 4 100 10 40 191850 1351755 22377.38 1.66
Papu Kushwaha 60 4 100 10 40 191850 1351755 22377.38 1.66
Jitendra Shukla 60 4 100 10 40 191850 1351755 22377.38 1.66
Satish 60 4 100 10 40 191850 1351755 22377.38 1.66
Pradeep 60 4 100 10 40 191850 1351755 22377.38 1.66
Papu Khan 60 4 100 10 40 191850 1351755 22377.38 1.66
Bharat 60 4 100 10 40 191850 1351755 22377.38 1.66
Manoj Pandey 60 4 100 10 40 191850 1351755 22377.38 1.66
select 60 4 100 10 40 191850 1351755 22377.38 1.66