>  기사  >  백엔드 개발  >  PHP 테이블을 2차원 배열로 변환하는 방법

PHP 테이블을 2차원 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-18 10:18:05477검색

PHP 개발에서는 페이지에 데이터를 테이블 형식으로 표시해야 하는 경우가 많습니다. 이때 코드에서 처리 및 작업을 용이하게 하기 위해 테이블 ​​데이터를 2차원 배열로 변환해야 합니다. 이 기사에서는 PHP 테이블을 2차원 배열로 변환하는 방법을 소개합니다.

1. 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>

2. 2차원 배열로 변환

PHP의 DOMDocument 클래스를 사용하여 테이블의 각 행과 열의 데이터를 가져온 다음 이를 2차원 배열로 변환할 수 있습니다. . 구체적인 코드는 다음과 같습니다.

$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 속성을 사용하여 각 열의 텍스트 내용을 가져와 1차원 배열에 저장합니다. 마지막으로 각 행의 1차원 배열이 $data 2차원 배열의 요소로 저장됩니다. 이로써 HTML 테이블을 2차원 배열로 변환하는 작업이 완료되었습니다.

3. 결과 출력

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 테이블에서 변환된 2차원 배열입니다. 각각의 1차원 배열은 데이터의 행을 나타내며 배열 요소는 다음과 같습니다. 각 셀의 텍스트 내용.

요약

위는 PHP 테이블을 2차원 배열로 변환하는 방법입니다. DOMDocument 클래스를 이용하여 HTML 테이블의 각 행과 열의 데이터를 얻어 2차원 배열로 변환함으로써 보다 편리하게 데이터를 처리하고 조작할 수 있습니다.

위 내용은 PHP 테이블을 2차원 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.