在PHP开发中,我们经常需要将数据以表格的形式展示在页面上,这时候我们就需要将表格的数据转成二维数组,以便于在代码中进行处理和操作。本文将介绍如何将PHP表格转成二维数组。
一、HTML表格
首先,我们需要有一张HTML表格来进行转换。假设我们有以下的一张表格:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lucy</td>
<td>23</td>
<td>Female</td>
</tr>
<tr>
<td>John</td>
<td>31</td>
<td>Male</td>
</tr>
<tr>
<td>Jane</td>
<td>27</td>
<td>Female</td>
</tr>
</tbody>
</table>
|
登录后复制
二、转换为二维数组
我们可以使用PHP的DOMDocument类来获取表格的每一行和每一列的数据,然后将其转换为二维数组。具体的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $table = '<table><thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead><tbody><tr><td>Lucy</td><td>23</td><td>Female</td></tr><tr><td>John</td><td>31</td><td>Male</td></tr><tr><td>Jane</td><td>27</td><td>Female</td></tr></tbody></table>' ;
$doc = new DOMDocument();
$doc ->loadHTML( $table );
$rows = $doc ->getElementsByTagName( 'tr' );
$data = array ();
foreach ( $rows as $row ) {
$cols = $row ->getElementsByTagName( 'td' );
$rowData = array ();
foreach ( $cols as $col ) {
$rowData [] = $col ->nodeValue;
}
$data [] = $rowData ;
}
|
登录后复制
以上代码中,我们将HTML表格的字符串作为参数传入DOMDocument类的loadHTML方法中,然后使用getElementsByTagName方法获取表格的每一行(使用tr标签表示)和每一列(使用td标签表示)的数据。
在遍历每一行数据时,我们使用nodeValue属性获取每一列的文本内容,并将其保存在一个一维数组中。最后将每一行的一维数组作为一个元素保存在$data二维数组中。这样就完成了HTML表格到二维数组的转换。
三、输出结果
我们可以使用var_dump或print_r函数来查看转换结果。代码如下:
输出结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | array (3) {
[0]=>
array (3) {
[0]=>
string(4) "Lucy"
[1]=>
string(2) "23"
[2]=>
string(6) "Female"
}
[1]=>
array (3) {
[0]=>
string(4) "John"
[1]=>
string(2) "31"
[2]=>
string(4) "Male"
}
[2]=>
array (3) {
[0]=>
string(4) "Jane"
[1]=>
string(2) "27"
[2]=>
string(6) "Female"
}
}
|
登录后复制
以上结果就是从HTML表格中转换出来的二维数组,其中每个一维数组表示一行数据,数组元素就是每个单元格的文本内容。
总结
以上就是将PHP表格转成二维数组的方法。通过使用DOMDocument类获取HTML表格的每一行和每一列的数据,然后将其转换为二维数组,我们可以更加方便地进行数据处理和操作。
以上是php表格怎么转成二维数组的详细内容。更多信息请关注PHP中文网其他相关文章!