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 중국어 웹사이트의 기타 관련 기사를 참조하세요!