一、html表格
首先,我们需要有一张html表格来进行转换。假设我们有以下的一张表格:
<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类来获取表格的每一行和每一列的数据,然后将其转换为二维数组。具体的代码如下:
$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函数来查看转换结果。代码如下:
var_dump($data);
输出结果如下:
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表格怎么转成二维数组的详细内容。
