我需要从多维数组中提取数据
array(2) {
["label"]=>
string(6) "label1"
["children"]=>
array(3) {
[1]=>
array(1) {
["label"]=>
string(6) "label2"
}
[2]=>
array(1) {
["label"]=>
string(6) "label3"
}
[3]=>
array(2) {
["label"]=>
string(6) "label4"
["children"]=>
array(2) {
[1]=>
array(1) {
["label"]=>
string(6) "label5"
}
[2]=>
array(1) {
["label"]=>
string(6) "label6"
}
}
}
}
}
进入具有以下结构的表:
<table border="1">
<tr>
<td colspan="4">label1</td>
</tr>
<tr>
<td colspan="1">label2</td>
<td colspan="1">label3</td>
<td colspan="2">label4</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="1">label5</td>
<td colspan="1">label6</td>
</tr>
</table>
&#13;
阵列的深度和结构是动态的,但基本规则保持不变。
关于如何实现这一目标的任何想法?谢谢!
答案 0 :(得分:0)
将多维数组转换为单个数组,然后遍历单个数组,创建所需的html字符串,即:
转换数组: 见Convert multidimensional array into single array
在php脚本中循环遍历单个数组,并将字符串回显到浏览器:
<?php
function createHtml($singleArray){
$html = '<table border="1">';
foreach($singleArray as $label){
$colspan = 1;
//If then statement that sets $colspan based on label
$html .= '<tr>';
$html .= '<td colspan="'.$colspan.'">'.$label.'</td>';
$html .= '</tr>';
}
$html .= '</table>';
echo $html;
}
?>