Maison  >  Article  >  développement back-end  >  Comment convertir une table php en tableau bidimensionnel

Comment convertir une table php en tableau bidimensionnel

PHPz
PHPzoriginal
2023-04-18 10:18:05476parcourir

Dans le développement PHP, nous avons souvent besoin d'afficher les données sur la page sous forme de tableau. À ce stade, nous devons convertir les données du tableau en un tableau bidimensionnel pour faciliter le traitement et l'exploitation dans le code. Cet article explique comment convertir une table PHP en un tableau bidimensionnel.

1. Tableau HTML

Tout d'abord, nous avons besoin d'un tableau HTML pour la conversion. Supposons que nous ayons le tableau suivant :

<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. Convertir en un tableau à deux dimensions

Nous pouvons utiliser la classe DOMDocument de PHP pour obtenir les données de chaque ligne et colonne du tableau, puis les convertir en un tableau à deux dimensions . Le code spécifique est le suivant :

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

Dans le code ci-dessus, on passe la chaîne du tableau HTML en paramètre dans la méthode loadHTML de la classe DOMDocument, puis on utilise la méthode getElementsByTagName pour obtenir chaque ligne du tableau (représentée par la balise tr) et chaque colonne (l'utilisation de la balise td représente) les données.

Lors du parcours de chaque ligne de données, nous utilisons l'attribut nodeValue pour obtenir le contenu textuel de chaque colonne et l'enregistrer dans un tableau unidimensionnel. Enfin, le tableau unidimensionnel de chaque ligne est enregistré en tant qu'élément dans le tableau bidimensionnel $data. Ceci termine la conversion des tableaux HTML en tableaux bidimensionnels.

3. Résultats de sortie

Nous pouvons utiliser la fonction var_dump ou print_r pour afficher les résultats de la conversion. Le code est le suivant :

var_dump($data);

Le résultat de sortie est le suivant :

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

Le résultat ci-dessus est un tableau bidimensionnel converti à partir du tableau HTML. Chaque tableau unidimensionnel représente une ligne de données et l'élément du tableau est. le contenu textuel de chaque cellule.

Résumé

Ce qui précède explique comment convertir une table PHP en un tableau bidimensionnel. En utilisant la classe DOMDocument pour obtenir les données de chaque ligne et colonne du tableau HTML, puis en les convertissant en un tableau bidimensionnel, nous pouvons traiter et exploiter les données plus facilement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn