Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie eine PHP-Tabelle in ein zweidimensionales Array

So konvertieren Sie eine PHP-Tabelle in ein zweidimensionales Array

PHPz
PHPzOriginal
2023-04-18 10:18:05477Durchsuche

In der PHP-Entwicklung müssen wir häufig Daten auf der Seite in Form einer Tabelle anzeigen. Zu diesem Zeitpunkt müssen wir die Tabellendaten in ein zweidimensionales Array konvertieren, um die Verarbeitung und den Betrieb im Code zu erleichtern. In diesem Artikel wird erläutert, wie Sie eine PHP-Tabelle in ein zweidimensionales Array konvertieren.

1. HTML-Tabelle

Zunächst benötigen wir eine HTML-Tabelle für die Konvertierung. Angenommen, wir haben die folgende Tabelle:

<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. In ein zweidimensionales Array konvertieren

Wir können die DOMDocument-Klasse von PHP verwenden, um jede Zeile und Spalte der Tabellendaten abzurufen Konvertieren Sie es dann in ein zweidimensionales Array. Der spezifische Code lautet wie folgt:

$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;
}

Im obigen Code übergeben wir die Zeichenfolge der HTML-Tabelle als Parameter an die Methode „loadHTML“ der DOMDocument-Klasse und verwenden dann die Methode „getElementsByTagName“, um sie jeweils abzurufen Zeile der Tabelle (dargestellt durch das tr-Tag) und die Daten für jede Spalte (dargestellt durch td-Beschriftungen).

Beim Durchlaufen jeder Datenzeile verwenden wir das Attribut nodeValue, um den Textinhalt jeder Spalte abzurufen und ihn in einem eindimensionalen Array zu speichern. Schließlich wird das eindimensionale Array jeder Zeile als Element im zweidimensionalen Array $data gespeichert. Damit ist die Konvertierung von HTML-Tabellen in zweidimensionale Arrays abgeschlossen.

3. Ergebnisse ausgeben

Wir können die Funktion var_dump oder print_r verwenden, um die Konvertierungsergebnisse anzuzeigen. Der Code lautet wie folgt:

var_dump($data);

Das Ausgabeergebnis lautet wie folgt:

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"
  }
}

Das obige Ergebnis ist ein zweidimensionales Array, das aus der HTML-Tabelle konvertiert wurde, wobei jedes ein- Das dimensionale Array stellt eine Datenzeile dar. Das Array-Element ist der Textinhalt jeder Zelle.

Zusammenfassung

Oben wird beschrieben, wie eine PHP-Tabelle in ein zweidimensionales Array konvertiert wird. Indem wir die DOMDocument-Klasse verwenden, um die Daten jeder Zeile und Spalte der HTML-Tabelle abzurufen und sie dann in ein zweidimensionales Array umzuwandeln, können wir die Daten bequemer verarbeiten und bedienen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine PHP-Tabelle in ein zweidimensionales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn