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 クラスを使用して、テーブルの各行と列のデータを取得します。 Convert 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のテーブルを二次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。