php表格怎麼轉成二維數組

PHPz
發布: 2023-04-18 13:43:02
原創
504 人瀏覽過

在PHP開發中,我們經常需要將資料以表格的形式展示在頁面上,這時候我們就需要將表格的資料轉成二維數組,以便於在程式碼中進行處理和操作。本文將介紹如何將PHP表格轉成二維數組。

一、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>
登入後複製

二、轉換為二維數組

#我們可以使用PHP的DOMDocument類別來取得表格的每一行和每一列的數據,然後將其轉換為二維數組。具體的程式碼如下:

$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函數來查看轉換結果。程式碼如下:

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表格轉換出來的二維數組,其中每個一維數組表示一行數據,數組元素就是每個單元格的文字內容。

總結

以上就是將PHP表格轉成二維陣列的方法。透過使用DOMDocument類別來取得HTML表格的每一行和每一列的數據,然後將其轉換為二維數組,我們可以更方便地進行資料處理和操作。

以上是php表格怎麼轉成二維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板