ホームページ > バックエンド開発 > PHPの問題 > PHPのテーブルを二次元配列に変換する方法

PHPのテーブルを二次元配列に変換する方法

PHPz
リリース: 2023-04-18 13:43:02
オリジナル
530 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート