首页 > 后端开发 > PHP问题 > php表格怎么转成二维数组

php表格怎么转成二维数组

PHPz
发布: 2023-04-18 13:43:02
原创
534 人浏览过

在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

var_dump($data);

登录后复制

输出结果如下:

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板